2016-12-17 6 views
-2

コードを実行しているときに、入力文字列が表示されません。まず、私のメインメソッドの中にそれがあったときは使えないと言った。私はそれを私のMainメソッドから取り出し、それをPublicクラスに置き、使用できない問題がなくなりました。しかし、コードを実行している間はまだ表示されません。JavaのSwitchステートメント内での文字列の使用方法

public class Number0to9 {  
    public static String input; 

    public static void main(String[] args) {   
    tryagain: while (true) { 
     System.out.print("Type a number between 0 and 9 : "); 

     Scanner scan = new Scanner(System.in);   
     int x = scan.nextInt(); 
     int output = x; 
     input = "You entered number: "; 

     switch (x) { 
     case 0: 
      input += output; 
      break tryagain; 
     case 1: 
      input += output; 
      break tryagain; 
     case 2: 
      input += output; 
      break tryagain; 
     case 3: 
      input += output; 
      break tryagain; 
     case 4: 
      input += output; 
      break tryagain; 
     case 5: 
      input += output; 
      break tryagain; 
     case 6: 
      input += output; 
      break tryagain; 
     case 7: 
      input += output; 
      break tryagain; 
     case 8: 
      input += output; 
      break tryagain; 
     case 9: 
      input += output; 
      break tryagain; 
     default: 
      System.out.println("Your number was bigger than 9"); 
      break; 
     } 
    }   
    } 
} 
+0

出力内容を見る必要がある場合は、印刷してみることをお勧めします。投稿の[MCVE]ガイダンスと[編集]コードを確認して問題を明確に示してください –

答えて

0

はこのようなものでしょうか?

public static void main(String[] args) { 
     boolean digitEntered = false; 
     String input = "You enetred number : "; 
     while (digitEntered == false) { 
      System.out.print("Type a number between 0 and 9 : "); 
      Scanner scan = new Scanner(System.in); 
      int x = scan.nextInt(); 

      if (x >= 0 && x <= 9) { 
       digitEntered = true; 
       input += x; 
      } else { 
       System.out.println("Your number was bigger than 9 "); 

      } 
     } 
     System.out.println(input); 
    } 
+0

完璧に動作しますが、Switchのステートメントで動作させる方法はありませんか? – AlexGugu

+0

あなたはswitch statmentを行うことができ、それを使ってコードの重複を感じました。 –

+0

私は間違ったことを見つけました。私は最後のwhileループの外側で文字列を印刷しませんでした。 – AlexGugu

0

ラベル付きループを終了するJava break文。そしてあなたの文字列inputには値が入っています。 whileループの後にアクセスしてみてください。

public class Number0to9 { 

    public static String input; 

    public static void main(String[] args) { 

    tryagain : while (true) { 
    System.out.print("Type a number between 0 and 9 : "); 
    Scanner scan = new Scanner(System.in); 
    int x = scan.nextInt(); 
    int output = x; 
    input = "You enetred number : "; 


    switch (x) { 
     case 0: 
      input += output; 
       break tryagain; 
     case 1: 
      input += output; 
       break tryagain; 
     case 2: 
      input += output; 
       break tryagain; 
     case 3: 
      input += output; 
       break tryagain; 
     case 4: 
      input += output; 
       break tryagain; 
     case 5: 
      input += output; 
       break tryagain; 
     case 6: 
      input += output; 
       break tryagain; 
     case 7: 
      input += output; 
       break tryagain; 
     case 8: 
      input += output; 
       break tryagain; 
     case 9: 
      input += output; 
       break tryagain; 
     default: 
       System.out.println("Your number was bigger than 9 "); 
      break; 
    } 
    } 
System.out.println(input); 
} 
} 
0
input += output; 

コードの上記のステートメントは、変数の両方がint(または任意の他の算術可変型)である場合にのみ、入力と出力を追加するために使用することができます。

入力と出力を連結したい場合は、まず出力をStringに変換する必要があります。

input = input + Integer.toString(output); 

いずれの場合もこの変更を行ってください。

関連する問題