java控制台输入小结)
程序员文章站
2022-04-24 10:16:47
...
1. 在我们刷题时候经常会看到需要从键盘输入数据进行测试,于是做一些输入整理
2. Scanner实现输入
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
System.out.println("next方法接受后的结果:" + s);
Scanner scanner1 = new Scanner(System.in);
String s1= scanner1.nextLine();
System.out.println("nextLine方法接受后的结果:" + s1);
}
控制台结果如图:
我们可以看到,next() 与 nextLine() 区别:
- next()不能得到带有空格的字符串,遇到的空白next()会自动将将空白和之后的去掉
- nextLine() 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
3. 有时候我们需要持续输入数据,使用hasNext()方法
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("准备接收输入:");
while (scanner.hasNextInt()){
System.out.println(scanner.next());
}
}
控制台结果如图:
当输入的不是整型,则结束输入。
4. 使用BufferedReader() 和InputStreamReader()方法实现
public static void main(String[] args) {
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
try {
// 使用read,则读取的是单个的字符,且以空格过滤以后的,返回是整型的ascii值
//int s = input.read();
// 使用readLine,读取的是一行输入的字符,返回是String类型字符串
String s = input.readLine();
System.out.println(s);
} catch (IOException e) {
e.printStackTrace();
}
}
控制台结果如图:
5. 感觉二者区分不大,Scanner应该还是最方便的输入方式。看个人喜好吧,另外第二种适合文件这样的大输入流。以上
上一篇: Linux环境常用命令