欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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);
}

控制台结果如图:

                      java控制台输入小结)

我们可以看到,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());
        }
}

控制台结果如图:

                                 java控制台输入小结)

当输入的不是整型,则结束输入。

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();
        }
    }

控制台结果如图:

                                java控制台输入小结)

 

5. 感觉二者区分不大,Scanner应该还是最方便的输入方式。看个人喜好吧,另外第二种适合文件这样的大输入流。以上

相关标签: Java