有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在循环中自动输出字符串

所以我有个小问题

 int pickmeup = 0;
        while (true)
        {
        pickmeup = scanner.nextInt();
        if (pickmeup == 1)
         {System.out.println ("you entered 1");}
        if(pickmeup == 2)
         {System.out.println ("you entered 2");}
        {
            break;
        }
    System.out.println ("Invalid code");

现在,当我运行这段代码时,它在字符串方面运行得很好,但是当我输入“3”时,循环似乎运行得不太好,因为它不会返回字符串“Invalid code”

如果我去掉了两个If语句后面的字符串,那么它就工作得非常好。我到底做错了什么?是否有其他方法可以自动输出字符串


共 (2) 个答案

  1. # 1 楼答案

    你可以先修改代码,你可以用eclipse源代码格式,也可以按CTRL+SHIFT+F

    举个例子,据我所知,我已经纠正了很多,目前只有当达到else时,它才会中断。休息时间可以修改

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int pickmeup = 0;
        while (true){
            pickmeup = scanner.nextInt();
            if (pickmeup == 1){
                System.out.println("one");
            }
            else if (pickmeup == 2){
                System.out.println("two");
            }
            else{
                System.out.println("Invalid code");
                break;
            }
        }
    
  2. # 2 楼答案

    我相信你想用逻辑or和类似的

    int pickmeup;
    while (true) {
        pickmeup = scanner.nextInt();
        if (pickmeup == 1 || pickmeup == 2) {
            System.out.printf("you entered %d%n", pickmeup);
        } else {
            System.out.println("Invalid code");
        }
    }
    

    或者,您可以使用else if

    int pickmeup;
    while (true) {
        pickmeup = scanner.nextInt();
        if (pickmeup == 1) {
            System.out.println("you entered 1");
        } else if (pickmeup == 2) {
            System.out.println("you entered 2");
        } else {
            System.out.println("Invalid code");
        }
    }