Java 无法打印整个字符串
我试图获得int、double和String(相同顺序)的标准输入,然后按顺序打印输入(String、double和int)。代码如下:Java 无法打印整个字符串,java,Java,我试图获得int、double和String(相同顺序)的标准输入,然后按顺序打印输入(String、double和int)。代码如下: public static void main (String[] args){ Scanner scan = new Scanner(System.in); System.out.println("Enter an integer: "); int intNum = scan.nextInt(); System.out.
public static void main (String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("Enter an integer: ");
int intNum = scan.nextInt();
System.out.println("Enter a double: ");
double doubleNum = scan.nextDouble();
System.out.println("Enter your string: ");
String str=scan.next();
scan.close();
System.out.println("Your string is: "+ str);
System.out.println("Your double is: "+ doubleNum);
System.out.println("Your integer is: "+ intNum);
}
但当我提供输入时(例如):
我得到的结果是:
Your string is: Hello
Your double is: 11.1
Your integer is: 88
这里我没有得到完整的字符串。我哪里做错了?
我尝试了“nextLine”,但没有成功。问题出在这一行-
String str=scan.next()代码>,,
.next()
函数只接受第一个字符串值,直到遇到空格或新行为止
而是使用-String str=scan.nextLine()
会占用整行字符串直到遇到新行。实际上,您无法读取字符串。使用而不是查看扫描仪javadoc-nextLine()
确实有效,但在读取double后需要添加额外的nextLine
调用,以便它吃掉该double后面的换行符@AxelH当我尝试使用scan.nextLine()时,它不会直接接受输入,而是给我空字符串的输出。@TiiJ7您是对的,它成功了。谢谢你的帮助。
Your string is: Hello
Your double is: 11.1
Your integer is: 88