java - nextLine() 在 for 循环后不起作用

标签 java

有谁知道为什么我的 nextLine() 在以下代码中的 for 循环之后不起作用?它总是跳过 nextLine() 并直接进入 if 语句。

int[] a = new int[3]

for(int i=0; i<3;i++)
{
  a[i] = nextInt();
}

String b = nextLine();

if(b == "go")
{
  .......
}
else
{
  ..... 
}

最佳答案

我猜您正在做的事情可能是要求用户输入整数,然后按 Enter 键。当它解析整数时,它只是解析并删除整数。但当然,他们按下的换行符仍然在流中。然后,当您请求 nextLine() 时,它会立即返回,因为流中已经存在一行(以按下整数的换行符结尾的行)。也许您实际上期望 nextLine() 在输入整数后等待附加行,但事实并非如此。这是正确的吗?

关于java - nextLine() 在 for 循环后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/806139/

相关文章:

java - Servlet编译错误

java - boolean 值和断言

java - 抽象基类与作为父类(super class)型的具体类

java - 当条件为 true 时,整数变量不会更新

Java 套接字服务器 : How to handle many incoming connections?

java - 从依赖项覆盖/停用 xml 文件中定义的 Spring 组件扫描

java - Scoped Variables 和 WeakReferences 奇怪地交互 - 有些对象没有得到垃圾收集

java - 如何将 Jackson DTO 转换为 JsonSchema?

java - 理解 Spring beans 标签声明

java - 在 Java 中从数组中提取单个随机字符串