Java中输入字符串时,有哪些要注意的呢?
nextLine()与nextInt()共用时的注意事项
1.当两者一起用的时候,nextLine()应该放到nextInt的前面,也就是先输入字符串,不然会导致字符串输入失败。
正确示范
//nextLine()放在前面
public class IdeaText {
public static void main(String [] args) {
Scanner sca=new Scanner(System.in);
String s=sca.nextLine();//输入字符串
System.out.println(s);//打印字符串
int a=sca.nextInt();//输入整数
System.out.println(a);//打印整数
}
}
结果(绿色字为输入)
错误示范
//nextLine()放在后面
public class IdeaText {
public static void main(String [] args) {
Scanner sca=new Scanner(System.in);
int a=sca.nextInt();//输入整数
System.out.println(a);//打印整数
String s=sca.nextLine();//输入字符串
System.out.println(s);//打印字符串
}
}
结果
分析原因:当我们先输入整型,(比如666),然后按回车,就会立马显示我们输入的整型结果(比如666)。此时下面的代码(读入一个字符串)将回车键当做是一个字符串读入,所以看到结果是一个空行。
2.也可以用next()代替nextLine(),此时不用关心先后顺序,
但是next()时只能读入一个单词,也就是遇到空格会结束
//此时不分先后
public class IdeaText {
public static void main(String [] args) {
Scanner sca=new Scanner(System.in);
int a=sca.nextInt();//输入整数
System.out.println(a);//打印整数
String s=sca.next();//输入字符串
System.out.println(s);//打印字符串
}
}
可见用next()时,只能读入一个单词。