当前位置: 首页 > 面试题库 >

Java Scanner为什么我的代码中的nextLine()被跳过?

公孙志
2023-03-14
问题内容

Scanner kb = new Scanner(System.in);
System.out.println(“Inserting L”);
int L = kb.nextInt();
System.out.println(“Inserting N”);
int N = kb.nextInt();
System.out.println(“Inserting x”);
String x = kb.nextLine();
System.out.println(x);
System.out.println(“You inputed L,N,x”);

为什么nextLine()在此代码中没有提示?


问题答案:

用:

String x = kb.next();

代替kb.nextLine()

这是因为nextInt()仅读取数字,而不是行尾或数字之后的任何内容。调用时,nextLine()它将读取同一行的其余部分,并且不等待输入。

理想情况下,您应该kb.nextLine()在代码后调用该行nextInt()以忽略该行的其余部分。



 类似资料:
  • 我想我的程序跳过了while循环,但我真的不确定到底发生了什么。该函数应该通过找到GCD,然后将分子和分母除以该数字来减少分数。 我得到分子和分母的绝对值,以确保如果分数是负数,我会在最后保持它。如果分子为0,则要求我返回(0,1)。问题是关于while循环。。。似乎它被完全跳过了。有什么建议吗?

  • 我试图使java编译类文件,但它抛出了一个错误,如何修复它。

  • 好的,我的vs代码正常,然后我重新启动了我的笔记本电脑,没有关闭应用程序。我打开后,几乎所有的文字都是白色的。这不是主题,因为它总是在黑暗中。我想我没有点击任何会导致这一点的重要内容。这样编码真的很难。顺便说一下,这是javascript文件。 正如您所看到的,绿色的注释是白色的,文件导入和橙色的文本是白色的“等待”是指紫色是白色。即使“const”也是白色的。有人知道如何解决这个问题吗?

  • 我正在尝试构建一个非循环树结构,每个节点由字符串标识,每个分支节点的类型为PrimMap。同一代上的所有节点都保存为映射中的Item对象。这是缩写代码: 错误消息是:/src/PrimMap。h: 314:57:错误:将“const PrimMap”作为“PrimMap::error PrimMap::add(const string)”的“this”参数传递 我看不出这个错误消息有什么意义——特

  • 这似乎与对象没有被实例化有关,尽管我不太明白为什么。有人知道出什么事了吗?

  • 包装呈现值;导入java。util。扫描仪; 公共类PresentValue{ }问题是写一个方法presentValue来执行此计算。该方法应接受未来值、年利率和年数作为参数。它应该返回现值,即您今天需要存入的金额。在一个程序中演示该方法,该程序允许用户试验公式项的不同值。 这里是公式P=F/(1r)^2