我想读取一个int,double和string并将每一个添加到变量中,但我无法读取该字符串。
int i = 4;
double d = 4.0;
String s = "My name is ";
Scanner scan = new Scanner(System.in);
int i2 = scan.nextInt();
double d2 = scan.nextDouble();
String s2 = scan.nextLine();
System.out.println(i+i2);
System.out.println(d+d2);
System.out.println(s + s2);
scan.close();
我的理解是scan.nextLine()
读取一个字符串,但它只是跳过它。
scan.next()
只读第一个单词。
如果我在scan.nextLine();
之前添加String str2 = scan.nextLine();
但我不知道为什么
答案 0 :(得分:-1)
输入
2.4
"Some String"
当你使用nextDouble时,只选择2.4而不是EndOfLine(在2.4之后和"Some String"
之前。)。
因此,您的代码使用2 nextLine()
。
您也可以使用
int i2 = Integer.parseInt(scan.nextLine());
double d2 = Double.parseDouble(scan.nextLine());
String str2 = scan.nextLine();