扫描仪类Java
问题描述:
我在下面的代码中遇到问题,请看看它,并帮助我解决我的问题。 的代码是:扫描仪类Java
import java.util.*;
public class Test1{
public static void main(String ...args){
Scanner s1=new Scanner(System.in);
int age;
age= s1.nextInt();
System.out.println(age);
System.out.println("Enter Name");
String name;
s1.next();
name = s1.nextLine();
System.out.println(name);
}
}
方案的输入:
12
12
Enter Name
A B C
B C
预期输出:
12
12
Enter Name
A B C
A B C
我试图扫描仪class.Please帮助我获得我的期望输出,并指定我的错误。请解释你的答案非常感谢。
答
import java.util.*;
public class Test1
{
public static void main(String ...args){
Scanner s1=new Scanner(System.in);
int age;
age= s1.nextInt();
System.out.println(age);
System.out.println("Enter Name");
s1.nextLine();
String name = s1.nextLine();
System.out.println(name);
}
}
这应该起作用。
sc.next() uses <space> as a delimiter by default.
+0
谢谢你@Gaurang它工作 –
+0
高兴地帮助:) –
's1.next();'将丢弃第一个标记。 – Berger
@Berger如果我删除s1.next();那么这是输出12 输入名称 程序,而不输入查询的(HTTPS [扫描仪使用后的next(),nextInt()或其他nextFoo()跳过nextLine()?]名称 –
可能的复制得到了终止:/ /stackoverflow.com/questions/13102045/scanner-is-skipping-nextline-after-using-next-nextint-or-other-nextfoo) – AxelH