java控制台输入小结)

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应该还是最方便的输入方式。看个人喜好吧,另外第二种适合文件这样的大输入流。以上

发布了103 篇原创文章 · 获赞 55 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/l8947943/article/details/104094939
今日推荐