gpt4 book ai didi

java - Java Scanner sc.nextLine(); 问题

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:13 24 4
gpt4 key购买 nike

对不起我的英语:)
我是 Java 编程的新手,我对 Scanner 有疑问。我需要读取一个 Int,显示一些内容,然后读取一个字符串,所以我使用 sc.nextInt(); 显示我的内容 showMenu(); 然后尝试读取字符串 palabra=sc.nextLine();

有人告诉我我需要使用 sc.nextLine();在 sc.nextInt() 之后;但我不明白你为什么要这样做:(

这是我的代码:

public static void main(String[] args) {
// TODO code application logic here
Scanner sc = new Scanner(System.in);
int respuesta = 1;

showMenu();
respuesta = sc.nextInt();
sc.nextLine(); //Why is this line necessary for second scan to work?

switch (respuesta){
case 1:
System.out.println("=== Palindromo ===");
String palabra = sc.nextLine();
if (esPalindromo(palabra) == true)
System.out.println("Es Palindromo");
else
System.out.println("No es Palindromo");
break;
}


}

非常感谢您的时间和帮助:D

最佳答案

nextInt() 只读入直到找到 int 然后停止。

您必须执行 nextLine(),因为输入流仍然有一个换行符,并且该行可能还有其他非整型数据。调用 nextLine() 会读取剩余的任何数据,包括用户在输入 int 和输入 String 之间按下的输入。

关于java - Java Scanner sc.nextLine(); 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com