Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中的Switch语句中使用字符串_Java_String_Switch Statement - Fatal编程技术网

如何在Java中的Switch语句中使用字符串

如何在Java中的Switch语句中使用字符串,java,string,switch-statement,Java,String,Switch Statement,当我运行代码时,我的输入字符串不会出现。首先,当我把它放在我的主方法中时,它说它不可用。在我把它从我的主方法中取出并放到公共类中之后,无法使用的问题就消失了。但在运行代码时它仍然不会出现 public class Number0to9 { public static String input; public static void main(String[] args) { tryagain: while (true) { System.ou

当我运行代码时,我的输入字符串不会出现。首先,当我把它放在我的主方法中时,它说它不可用。在我把它从我的主方法中取出并放到公共类中之后,无法使用的问题就消失了。但在运行代码时它仍然不会出现

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;
      }   
    }        
  } 
} 

应该是这样的吗

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);
    }
publicstaticvoidmain(字符串[]args){
布尔数字中心=假;
String input=“您输入的数字:”;
while(数字居中==false){
System.out.print(“键入一个介于0和9之间的数字:”);
扫描仪扫描=新扫描仪(System.in);
int x=scan.nextInt();

如果(x>=0&&xJava break语句终止带标签的循环。并且字符串
输入
中包含值。请尝试在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);
} 
} 
只有当两个变量都是int(或任何其他算术变量类型)时,上述代码语句才可用于添加输入和输出

若要连接输入和输出,首先,输出应转换为字符串

input = input + Integer.toString(output);

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

效果很好,但是没有办法使其与Switch语句一起工作吗?您可以执行Switch语句,感觉这样做是代码复制。好的,我发现了我做错了什么。我没有在末尾的while循环外打印我的字符串。非常不清楚您在问什么-如果您需要查看在输出中,您最好打印它…请查看帖子中的指南和代码,以清楚地说明问题(即,
开关
不太可能与您的问题相关,尽管在标题和大量代码中提到了它)
input = input + Integer.toString(output);