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 允许用户输入字符串直到;q";辞职_Java_Loops_Parsing_While Loop_Do While - Fatal编程技术网

Java 允许用户输入字符串直到;q";辞职

Java 允许用户输入字符串直到;q";辞职,java,loops,parsing,while-loop,do-while,Java,Loops,Parsing,While Loop,Do While,有点难倒了。我需要以下内容从验证点开始循环(检查逗号),这样用户可以反复输入文本,直到按“q”退出。我试着在里面放两个圈,但我不知道如何一遍又一遍地重复同样的事情。我需要分析来完成作业 谢谢 p = 1; while(!userName.contains(",")){ System.out.println("Error: No comma in string "); System.out.println("Enter input string: "); userName =

有点难倒了。我需要以下内容从验证点开始循环(检查逗号),这样用户可以反复输入文本,直到按“q”退出。我试着在里面放两个圈,但我不知道如何一遍又一遍地重复同样的事情。我需要分析来完成作业

谢谢

  p = 1;
  while(!userName.contains(",")){
  System.out.println("Error: No comma in string ");
  System.out.println("Enter input string: ");
  userName = scnr.nextLine();
  p++;      

 }

  userName = userName.replace(",", "");
  inSS = new Scanner(userName);
  firstName = inSS.next();
  lastName = inSS.next(); 


  System.out.println("First word: " +firstName );
  System.out.println("Second word: " +lastName); 
  p++;


  }        
}     

您是否考虑过使用
if
语句和
break
? break语句离开当前循环。例如,您可以添加

if(scnr.nextLine().equals("q")){
    break;}

这将留下while循环,如果这是您要问的。

谢谢,我将对此进行研究。基本上,while循环需要保留,因为它正在检查用户是否输入逗号。我需要这个程序的整个片段从一开始就循环,这样用户可以一直输入直到按q。你说的整个片段是指你发布的内容吗?在这种情况下,将工件封装在第二个循环中(最好使用do-while),并将while保持在其中。然后,在接受输入的地方使用我发布的if语句来打破循环。虽然它只会中断当前循环,所以如果它在嵌套的while循环中,它不会退出整个片段。如果您想完全终止程序,可以使用System.exit(0);是的,我贴的。逗号检查和之后的解析。好吧,也许我们可以在一段时间内封装它,但是在循环的开始处初始化一个布尔退出。在有输入的嵌套while循环中,生成一个if语句,该语句不使用break,而是在q为输入时将quit设置为true。然后,在while循环之后,立即放置另一个if来检查quit的值。如果quit为true,则中断。这将打破主要的做法。也许有更简单的方法,但我现在想不起来。这是我想不到的!我做这件事才几个星期。我觉得这就像折磨。非常感谢。