【问题标题】:While loop isn't closing when user inputs enter key?当用户输入输入键时循环没有关闭?
【发布时间】:2023-03-16 17:30:01
【问题描述】:

我有一个简短的问题,我在旧帖子中找不到任何相关信息。这与我的 while 循环有关。我希望我的 while 循环在用户输入回车键时结束,即当患者 ID 为空时。如果我在第一轮输入中按回车键,while 循环将终止,但如果我输入大量信息并运行循环几次,按回车键并不会在再次询问患者 ID 时结束循环。这是代码。对于 while(),我尝试了许多不同的变体。感谢您的帮助!

    //Obtain Patient Id
    System.out.print("Enter patient: ");
    patientID= kb.next();

    //While patient id is not empty
    while(patientID.length()==0) {

    //  Obtain patient ID
    System.out.print("\nEnter patient: ");
    patientID=kb.next();

    //End While

【问题讨论】:

  • kb 是Scanner 对象吗?然后请发布创建它的实例的代码以获取更多信息

标签: java while-loop


【解决方案1】:

有一些问题。您需要使用nextLine() 来读取一行。 next() 只是读取一个令牌。

patientID=kb.nextLine();
 //While patient id is not empty
while(patientID.length()!=0) {

//  Obtain patient ID
System.out.print("\nEnter patient: ");
patientID=kb.nextLine();

}

while 循环还应显示为“当患者 ID 不为空时”。在循环开始之前,您需要将 patientID 设置为非空值,就像我在这里所做的那样。

【讨论】:

  • 我修复了使用 next() 的问题并解决了 while 问题,但是当我运行它时,它会在一次自动运行后终止 while 循环?
  • @TravisMiller Mh 逻辑可能已关闭。尝试将其设置回==
  • 嗯,当我将其设置为 == 时,一旦我输入患者 ID,它就会终止。我确实摆弄它并将其恢复为 != 并在“输入患者 ID”时将 nextLine() 更改回内部的 next() 并运行,但当我按 ID 请求输入时仍然不会关闭。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
  • 2016-05-04
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多