Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 Can';无法使程序在特定字符串上中断_Java - Fatal编程技术网

Java Can';无法使程序在特定字符串上中断

Java Can';无法使程序在特定字符串上中断,java,Java,代码在大部分情况下有效,但如果我键入“No way”,它仍然会停止循环。我应该以不同的方式设置它还是使用长度函数?我搜索的所有关于打破循环的东西都使用整数 请参阅下面的代码: import java.util.Scanner; public class CarryOn { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

代码在大部分情况下有效,但如果我键入“No way”,它仍然会停止循环。我应该以不同的方式设置它还是使用长度函数?我搜索的所有关于打破循环的东西都使用整数

请参阅下面的代码:

import java.util.Scanner;

public class CarryOn {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        
        while (true) {
            System.out.println("Shall we carry on?");
            String answer = String.valueOf(scanner.next());
            
            if (answer.equalsIgnoreCase("no")){
                break;
            }
        }
    }
}
只读取一个令牌
No way
是两个标记:
No
way


如果要读取整行内容,请使用
scanner.nextLine()

使用
。在这种情况下,next
仅以“no ways”存储“no”。改用
.nextLine

Scanner scanner = new Scanner(System.in);
while (true) {
     System.out.println("Shall we carry on?");
     String answer = String.valueOf(scanner.nextLine());
     if (answer.equalsIgnoreCase("no")){
          break;
     }
}
输出:

Shall we carry on?
no way
Shall we carry on?
no

查看此项以了解更多信息。

如果您开始解释代码的工作原理,那就更好了。而不是让用户通过阅读代码来推断。理解并理解。泰!
Shall we carry on?
no way
Shall we carry on?
no