2016-12-17 54 views
-2

当我运行代码时,我的输入字符串不会出现。首先它说我在Main方法中使用它时是无法使用的。在我把它从我的Main方法中拿出来并放到公共类中后,这个不可用的问题就消失了。但它仍然不会出现在运行代码时。如何在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]指导和[编辑]代码以清楚地展示问题(例如'switch'是不太可能与您的问题相关,尽管在标题和大块代码中提到它) –

回答

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

你可以做一个开关声明,觉得这是代码重复使用它。 –

+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(或任何其它计算变量类型)输出。

如果要连接输入和输出,首先,输出应该转换为字符串。

input = input + Integer.toString(output); 

在每种情况下进行此更改。

相关问题