在整数输入之后,我想连接两个字符串,一个已经初始化,另一个是用户输入

时间:2017-12-05 12:13:50

标签: java

int i = 4;
String s ="Hi ";

Scanner scan = new Scanner(System.in);

System.out.println("enter Integer");
int m=scan.nextInt();

System.out.println("enter string");
*String t = scan.next();
**String t = scan.nextLine();

System.out.println(i+m);
System.out.println(s+t);

当我使用* scan.next()时它只会读取一个单词,当我使用** scan.nextLine()时它会直接显示输出

1 个答案:

答案 0 :(得分:0)

nextLine()之后致电nextint()消费\n

int a = scanner.nextInt()
scanner.nextLine() // to flush end of line
 ... // Then read string
String s = scanner.next()

整个故事

输入一个数字后,说5 .. 流看起来像

5\n

调用nextInt()时 流看起来像

\n

输入字符串后,请说“hi

\nhi

调用next()后 流看起来像

hi

问题原因:next()消耗到\n 当它被调用时\n是流中的第一个字符。所以它读取空字符串""