我想要一个java程序来接受
1.整数
2.双
3.字符串分别。并显示上述内容。
但是我面临的问题是在我输入整数和双倍之后,它不会提示我输入字符串。它直接显示值。当我搜索到这个的索恩时,我才知道
scan.nextLine();
应该在我接受双精度值后使用。
谁能告诉我为什么要用这条线。我读了nextLine的文档。但是我不明白。
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
double d = scan.nextDouble();
// scan.nextLine(); **Why should I write this ??**
String s = scan.nextLine();
System.out.println("String: " + s);
System.out.println("Double: " + d);
System.out.println("Int: " + i);
}
}
根据< code>nextLine() javadoc:
使此扫描仪前进过当前行并返回跳过的输入。此方法返回当前行的其余部分,不包括末尾的任何行分隔符。该位置设置为下一行的开头。
输入双精度值后,nextLine()
读取包含双精度数的行上的余数。这就是为什么您需要另一个nextLine()
来输入字符串。
使用< code>next()可以解决您的问题:
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
double d = scan.nextDouble();
String s = scan.next();
System.out.println("String: " + s);
System.out.println("Double: " + d);
System.out.println("Int: " + i);