Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 输入某行后如何停止扫描?_Java_Loops_Input - Fatal编程技术网

Java 输入某行后如何停止扫描?

Java 输入某行后如何停止扫描?,java,loops,input,Java,Loops,Input,我想构建一个程序,在我在控制台中输入“0”之前,只停止扫描字符串,我该怎么做 我假设我可以使用do while循环,但是我不知道在while()条件中应该放什么 Scanner scan = new Scanner(System.in); do { String line = scan.nextLine(); //do stuff } while(); //what do i put in here to stop scannin

我想构建一个程序,在我在控制台中输入“0”之前,只停止扫描字符串,我该怎么做

我假设我可以使用do while循环,但是我不知道在while()条件中应该放什么

    Scanner scan = new Scanner(System.in);

    do {

        String line = scan.nextLine(); 

        //do stuff

    } while(); //what do i put in here to stop scanning after i input "0"

提前感谢,我对Java和OOP基本上是新手。

您可以使用while循环而不是do-while循环。定义将在while循环内初始化的字符串。在每次迭代中,我们将字符串分配给Scanner#nextLine,并检查该行是否不等于0。如果是,while循环将阻止迭代

Scanner scan=新的扫描仪(System.in);
弦线;
而(!(line=scan.nextLine()).equals(“0”)){
System.out.println(“行:”+行);
}

您可以使用while循环而不是do-while循环。定义将在while循环内初始化的字符串。在每次迭代中,我们将字符串分配给Scanner#nextLine,并检查该行是否不等于0。如果是,while循环将阻止迭代

Scanner scan=新的扫描仪(System.in);
弦线;
而(!(line=scan.nextLine()).equals(“0”)){
System.out.println(“行:”+行);
}

您不必使用任何循环,正如您所说的,在默认情况下为nextLine()按0时要停止输入。当用户按enter键时,输入停止,因为它是分隔符,所以只需更改分隔符即可

Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("0");   //regex
String s = scanner.next(); // no matter what user enters the s will contain the input before 0

您不必使用任何循环,正如您所说的,在默认情况下,当nextLine()按0时,您希望停止输入。当用户按enter键时,输入停止,因为它是分隔符,所以只需更改分隔符即可

Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("0");   //regex
String s = scanner.next(); // no matter what user enters the s will contain the input before 0

在这里输入一些条件,检查
是否与“0”不同。您需要在循环tho之外声明变量。这是否回答了您的问题?你能举一个例子来说明你想要什么来回答你的问题吗?在这里输入一些条件,检查
是否与“0”不同。您需要在循环tho之外声明变量。这是否回答了您的问题?你能举一个例子来说明你想要什么来回答你的问题吗?nextLine()仍然接受0我想他想在按下0之前输入,所以你的代码仍然让0输入,因为nextLine()将接受整行,不管你应用什么条件,请看我的回答,他说,直到我输入0,这意味着在某个点上他希望输入0。这将允许他在提供0之前处理该输入。因此,如果我得到的信息不正确,我仍然没有得到,他没有提供一个示例,我根据我对Toodeyea的理解回答,我认为这是一个误解问题。nextLine()仍然需要0。我想他想在按下0之前输入输入,所以你的代码仍然让零进入,因为,nextLine()将占据整行,不管你应用什么条件,请看我的回答,直到我输入0,他说,这意味着在某个时候他希望输入0。这将允许他处理该输入,直到提供0。那么,我是否得到了错误,我仍然没有得到,他没有提供一个示例,我根据我对A的理解回答,我认为这是一个误解问题。用户说,直到我停止扫描字符串,这意味着他们需要多个字符串值,这意味着需要某种类型的循环机制。不是单数行。用户说,直到我停止扫描字符串,这意味着他们需要多个字符串值,这意味着需要某种类型的循环机制。不是单数行。