• java中输入方式Scanner和BufferedReader


    Scanner 在java.util包中,需要引入时可以用import java.util.*;或者import java.util.Scanner;

    工作原理:通过new创建一个Scanner对象,Scanner需要传入一个System.in作为参数,这个我们可以看作是Scanner通过其内部机制将System.in包装起来而实现数据的读取工作的。Scanner对象通过一系列的in.nextXxx();方法来读取相应的基本类型的数据,通过in.hasNextXxx();方法来判断是否还有下一个数据。 然而,Scanner读取数据是按空格符,这其中包括空格键,Tab键,Enter键。只要遇到其中之一,Scanner的方法就会返回下一个输入 ,这也就是我们会面临的另一个问题,当我们的输入数据中有空格时,我们就不会得到我们想要的数据,这样我们就要考虑到BufferReader来读取数据啦!

    实际程序:

    1 import java.util.Scanner;
    2 public class ScannerTester{
    3 public static void main(String[] args){
    4 System.out.print("please input the name:");
    5 Scanner scanner = new Scanner(System.in);
    6 String name = scanner.nextLine();
    7 System.out.println(name);
    8 }              
    9 } 
    

      

    BufferReader位于java.io包中,需要引入时可以用import java.io.*;或者import java.io.BufferedReader;。

    使用BufferReader就相对来说没有那么多方法来让你选择,读取数据比较固定,这样格式也就相对来说比较单一,只要记住就这一读取数据的方法。BufferReader br = new BufferReader(new InputStreamReader(System.in));。这个BufferReader对象通过readLine();方法来读取数据,readLine()是按Enter回车来读取一行数据的,只要在回车键之前的都会被readLine();方法返回, 然而,要使用BufferReader输入一些字符之外的类型的数据,就要相对比较麻烦,需要通过一些XXXX.parseXxx();来转换相应的数据类型,虽然,麻烦一些,但通过在一些OJ系统上的和Scanner作对比,BufferReader的效率要比Scanner高一倍,这个差距可想而知,读取的数据越多,效果就越明显。

    实际程序:

    import java.io.BufferedReader;
    public class BufferedReaderTester{
    public static void main(String[] args){
    System.out.print("please input the adress:");
    BufferedReader bufferedReader1 = new BufferedReader(new InputStreamReader(System.in));
    String adress = bufferedReader1.readLine();
    System.out.println(adress);
    }
    }
    

      

     

  • 相关阅读:
    python学习之路---day20--面向对象--多继承和super() 函数
    python学习之路---day19--面向对象--约束
    python学习之路---day18--反射
    day017-------python 类与类的关系
    迅为iTOP-4418嵌入式开发板初体验
    迅为4418开发板Qt移植移动4G模块第二部分
    迅为7寸工业平板电脑|人机界面|工业触摸屏|工控机|HMI|工业显示器
    [转载]迅为4418开发板Qt移植移动4G模块第一部分
    4412开发板共享海量学习资料 学不会才是奇迹
    【转载】自制4412底板自动进入SD卡更新模块
  • 原文地址:https://www.cnblogs.com/starainDou/p/4691061.html
Copyright © 2020-2023  润新知