我使用相同的对象调用扫描对象,我试图从用户获取一个int和一个字符串。
Scanner scan = new Scanner(System.in);
//for a int
int first_value = scan.nextInt();
System.out.println(first_value);
//for a string
String first_name = scan.nextLine();
System.out.println(first_name);
这里控制台没有等待字符串但是如果我使用另一个对象那么它工作正常。
Scanner insert = new Scanner(System.in);
String name = insert.nextLine();
是否可以使用相同的Scanner对象获取int和string?
答案 0 :(得分:2)
这是因为在读取int之后会留下new line
字符,该字符由scan.nextLine
消耗,并且它不会等待您的下一个输入。您需要在读取String之前使用它。
Scanner scan = new Scanner(System.in);
//for a int
int first_value = scan.nextInt();
scan.nextLine();
System.out.println(first_value);
//for a string
String first_name = scan.nextLine();
System.out.println(first_name)
答案 1 :(得分:0)
在System.out.println("Enter Your Age");
对象的用户输入之前使用System.out.println("Enter Your Name");
和Scanner
。
System.out.println("Enter your first name:");
String first_name = scan.nextLine();
System.out.println("Enter your age:");
int age = Integer.parseInt(scan.nextLine());
现在,您可以按住屏幕输入您的程序输入。