黑马程序员技术交流社区

标题: java中获取键盘输入有几种方法 都有什么区别 求指导 [打印本页]

作者: turan    时间: 2014-9-7 20:22
标题: java中获取键盘输入有几种方法 都有什么区别 求指导
java中获取键盘输入有几种方法 都有什么区别 求大神指导

作者: The_king丶    时间: 2014-9-7 20:33
IO流里面的system.in最好用吧,其他不晓得
作者: turan    时间: 2014-9-8 23:38
The_king丶 发表于 2014-9-7 20:33
IO流里面的system.in最好用吧,其他不晓得

这个挺常用的.
作者: zhu_zhu    时间: 2014-9-9 00:23
键盘录入用System.in(字节流),由于键盘录入属于纯文本,用字符流操作较方便,所以需要读取转换流转换为Read体系,代码: InputStreamReader isr = new InputStreamReader(Sysem.in);
就知道这一种了。。
作者: turan    时间: 2014-9-9 00:33
zhu_zhu 发表于 2014-9-9 00:23
键盘录入用System.in(字节流),由于键盘录入属于纯文本,用字符流操作较方便,所以需要读取转换流转换为R ...

学习了  谢谢你
作者: daoqin    时间: 2014-9-9 11:36
我认为是最简单,最强大的,就是用Scanner类
  1.  public static void main(String [] args) {
  2.   Scanner sc = new Scanner(System.in);
  3.   System.out.println(“请输入你的姓名:”);
  4.   String name = sc.nextLine();
  5.   System.out.println(“请输入你的年龄:”);
  6.   int age = sc.nextInt();
  7.   System.out.println(“请输入你的工资:”);
  8.   float salary = sc.nextFloat();
  9.   System.out.println(“你的信息如下:”);
  10.   System.out.println(“姓名:”+name+“\n”+“年龄:”+age+“\n”+“工资:”+salary);
  11.   }
复制代码

Scanner类不管是对于字符串还是整型数据或者float类型的变量,只需做一点小小的改变,就能够实现功能。



作者: turan    时间: 2014-9-9 15:13
果然很强大!!学习了
作者: 范鹏霄    时间: 2014-9-9 15:27
          学习了
作者: tianleboy    时间: 2014-9-9 16:00
在毕老师第19天的视屏中
键盘的常用写法:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));

把文本显示到控制台上写法:
BufferedWriter bufw =new BufferedWriter(new OutputStreamWriter(System.out));





作者: 言钟钟    时间: 2014-9-9 16:28
tianleboy 发表于 2014-9-9 16:00
在毕老师第19天的视屏中
键盘的常用写法:
BufferedReader bufr = new BufferedReader(new InputStreamRead ...

BufferedReader和Scanner  有啥区别?  求指教!
作者: tianleboy    时间: 2014-9-9 16:51
言钟钟 发表于 2014-9-9 16:28
BufferedReader和Scanner  有啥区别?  求指教!

BufferedReader是Reader体系中缓冲区。而Reader体系中可以操作文件的对象时 FileReader。是文件读取的Io类。经常用于对文本文件的复制等操作。

而你说的Scanner只是读取用户在命令行输入的各种数据。 是SDK1.5新增的一个类。
作者: 零点12    时间: 2014-9-9 18:24
方法一:从控制台接收一个字符,然后将其打印出来

  public static void main(String [] args) throws IOException{

  System.out.print(“Enter a Char:”);

  char i = (char) System.in.read();

  System.out.println(“your char is :”+i);

  }

  }

  虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。

  方法二:从控制台接收一个字符串,然后将其打印出来。在这个题目中,我们需要用到BufferedReader类和InputStreamReader类

  public static void main(String [] args) throws IOException{

  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

  String str = null;

  System.out.println(“Enter your value:”);

  str = br.readLine();

  System.out.println(“your value is :”+str);

  }

  这样我们就能获取我们输入的字符串。

  方法三:这种方法我认为是最简单,最强大的,就是用Scanner类

  public static void main(String [] args) {

  Scanner sc = new Scanner(System.in);

  System.out.println(“请输入你的姓名:”);

  String name = sc.nextLine();

  System.out.println(“请输入你的年龄:”);

  int age = sc.nextInt();

  System.out.println(“请输入你的工资:”);

  float salary = sc.nextFloat();

  System.out.println(“你的信息如下:”);

  System.out.println(“姓名:”+name+“\n”+“年龄:”+age+“\n”+“工资:”+salary);

  }

  这段代码已经表明,Scanner类不管是对于字符串还是整型数据或者float类型的变量,只需做一点小小的改变,就能够实现功能!无疑他是最强大的!

作者: MeryStyle    时间: 2014-9-9 18:37
有整理好的,http://bbs.itheima.com/forum.php?mod=viewthread&tid=141727&mobile=2
作者: turan    时间: 2014-9-9 19:01
零点12 发表于 2014-9-9 18:24
方法一:从控制台接收一个字符,然后将其打印出来

  public static void main(String [] args) throws I ...

给个赞.......
作者: 沈木生    时间: 2014-9-9 19:06
我来看下他们的回复
作者: cherry@cookie    时间: 2014-9-9 19:35
学习了,,,
作者: 许愿じ☆VE杰    时间: 2014-9-10 10:07
看回复,涨姿势
作者: 刃下心    时间: 2014-9-10 11:04
好屌,学到了
作者: 言钟钟    时间: 2014-9-10 13:39
tianleboy 发表于 2014-9-9 16:51
BufferedReader是Reader体系中缓冲区。而Reader体系中可以操作文件的对象时 FileReader。是文件读取的Io ...

哦  搜噶    reader更高级啊!    谢谢啦!{:2_31:}
作者: 涉江    时间: 2014-11-18 10:25
学习了,我平常用的都是 java.util.Scanner 类,现在才明白有这么多方法。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2