下面是代码:
import java.util.Scanner;
public class Calculate{
public static void main(String args[])
{
int age=0;
String name="";
Scanner scan=new Scanner(System.in);
System.out.println("Please Enter value of your age : ");
age=scan.nextInt();
System.out.println("Please Enter value of your name : ");
name=scan.nextLine();
System.out.println("Age : "+age+", Name : "+name);
}
}
现在,这里的问题是从用户那里获取字符串值。
我可以带两个INTEGER
按 [ENTER]
后,用户一一获取值。
但是,如果服用STRING
来自用户的值第二次,在我输入年龄变量的值后,它就让我出去了。
如果我首先输入String
然后INTERGER
比它工作正常,如下所示:(名字,然后年龄):
System.out.println("Please Enter value of your name : ");
name=scan.nextLine();
System.out.println("Please Enter value of your age : ");
age=scan.nextInt();
可能是什么问题?
最佳答案
问题出在 scan.nextInt()
方法上。它只读取 int 值。因此,当您使用 scan.nextLine()
继续阅读时,您会收到“\n”Enter 键。因此,要跳过此步骤,您必须添加 input.nextLine()
试试这个:
import java.util.Scanner;
public class Main{
public static void main(String args[])
{
int age=0;
String name="";
Scanner scan=new Scanner(System.in);
System.out.println("Please Enter value of your age : ");
age=scan.nextInt();
scan.nextLine(); // This line you have to add (It consumes the \n character)
System.out.println("Please Enter value of your name : ");
name=scan.nextLine();
System.out.println("Age : "+age+", Name : "+name);
}
}
输出
Please Enter value of your age :
20
Please Enter value of your name :
ABC
Age : 20, Name : ABC
关于java - 第二次无法从用户处获取字符串输入的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57195052/