我是java的新手,我制作了这个程序,问题是我要求用户输入他们的年龄和名字然后程序应该使用输入来打印语句。然而,当我键入年龄然后按回车键程序执行所有语句而不等我输入我的名字..我该如何解决这个问题?
Scanner input = new Scanner(System.in);
int age;
String name;
System.out.println("Please enter your age ");
age = input.nextInt();
System.out.println("and now enter your name");
name = input.nextLine();
System.out.println("Your name is " +name + " and you're " +age + "years old");
答案 0 :(得分:0)
您可以同时使用nextLine()
:
System.out.println("Please enter your age ");
age = Integer.parseInt(input.nextLine());
System.out.println("and now enter your name");
name = input.nextLine();
问题在于,在输入年龄后点击Enter
时,生成的换行符会被解释为以下nextLine().
的输入结尾
您也可以使用next()
代替nextLine()
,但John Doe
将被解释为John
因为next()
使用空格作为分隔符。< / p>
答案 1 :(得分:0)
在 name 变量中使用next()而不是nextLine()。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int age;
String name;
System.out.println("Please enter your age ");
age = input.nextInt();
System.out.println("and now enter your name");
name = input.next();
System.out.println("Your name is " +name + " and you're " +age + " years old");
}