java歴1ヶ月未満で下手くそなコードだと思います。
下のコードを実行した際、
まず「new Taipingのコンストラクタが出力されない」こと、
「ゲームの難易度を「簡単」または「難しい」とコンソールで入力してもelse文のコードが出力されてしまう」こと、
「正しく入力してもelse文の不正解!が出力される上、同じ単語の無限ループになってしまう」ことの解決方法のご教授をお願いします。
上のうち一つだけでも教えて頂けると嬉しいです。
Java
1 2public class Main { 3 public static void main( String[] args){ 4 double random = Math.random() * 5 + 1; 5 int number = (int)random; 6 //乱数を持つフィールドの定義 7 Taiping taiping = new Taiping("英単語タイピングゲーム","【簡単】または【難しい】を入力してください"); 8 //難易度の選択の入力 9 System.out.println("英単語タイピングゲーム"); 10 System.out.print("【簡単】または【難しい】を入力してください : "); 11 taiping.start( number ); 12 } 13} 14 import java.util.Scanner; 15public class Taiping { 16Scanner scanner = new Scanner( System.in); 17 18 String name; 19 String level; 20 Taiping( String name, String level ){ 21 this.name = name; 22 this.level = level; 23 } 24 //コンストラクタ 25 26 String cheese = "チーズ :"; 27 String dog = "犬 :"; 28 String cat = "猫 :"; 29 String yesterday= "昨日 :"; 30 String moon = "月 :"; 31 //タイピングの単語 32 public void start( int number ){ 33 for( int s = 1; s <= 5; s++ ){ 34 String levels = scanner.next(); 35 if( levels == "簡単" || levels == "難しい" ){ 36 s = 25; 37 } else { 38 s = 1; 39 System.out.print("【簡単】または【難しい】を入力してください : "); 40 } 41 } 42 int i = 1; 43 while( i <= 5){ 44 System.out.println( number );//5〜1の乱数の出力 45 switch( number ){ 46 case 1: 47 System.out.println( this.cheese ); 48 String cheese0 = scanner.next(); 49 if( cheese0 == "cheese"){ 50 System.out.println("正解!"); 51 } else { 52 System.out.println("不正解!"); 53 } 54 break; 55 case 2: 56 System.out.println( this.dog ); 57 String dog0 = scanner.next(); 58 if( dog0 == "dog"){ 59 System.out.println("正解!"); 60 } else { 61 System.out.println("不正解!"); 62 } 63 break; 64 case 3: 65 System.out.println( this.cat ); 66 String cat0 = scanner.next(); 67 if( cat0 == "cat"){ 68 System.out.println("正解!"); 69 } else { 70 System.out.println("不正解!"); 71 } 72 break; 73 case 4: 74 System.out.println( this.yesterday ); 75 String yesterday0 = scanner.next(); 76 if( yesterday0 == "yesterday"){ 77 System.out.println("正解!"); 78 } else { 79 System.out.println("不正解!"); 80 } 81 break; 82 case 5: 83 System.out.println( this.moon); 84 String moon0 = scanner.next(); 85 if( moon0 == "moon"){ 86 System.out.println("正解!"); 87 } else { 88 System.out.println("不正解!"); 89 } 90 break; 91 default: 92 System.out.println("いやん"); 93 } 94 i++; 95 } 96 } 97}
回答1件
あなたの回答
tips
プレビュー