import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
double d= scan.nextDouble();
String s = scan.nextLine();
System.out.println("String: " + s);
System.out.println("Double: " + d);
System.out.println("Int: " + i);
}
}
为什么我不能在上面的代码中打印字符串?
String:
Double: 3.1415
Int: 42
答案 0 :(得分:2)
在控制台中,当您输入42并按Enter键时,它将42作为int值并将“ enter”(或换行符即/ n)作为字符串。但是由于nextInt()之后没有nextLine(),因此它避免了换行符。当您输入3.1415并按Enter键时,它将3.1415作为双精度值,并将enter /换行符作为字符串。
因此,解决方案可以在nextLine()
之后添加另外的nextDouble()