A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

java中获取键盘输入有几种方法 都有什么区别 求大神指导

19 个回复

倒序浏览
IO流里面的system.in最好用吧,其他不晓得
回复 使用道具 举报
The_king丶 发表于 2014-9-7 20:33
IO流里面的system.in最好用吧,其他不晓得

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

学习了  谢谢你
回复 使用道具 举报
我认为是最简单,最强大的,就是用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类型的变量,只需做一点小小的改变,就能够实现功能。


回复 使用道具 举报
果然很强大!!学习了
回复 使用道具 举报
          学习了
回复 使用道具 举报
在毕老师第19天的视屏中
键盘的常用写法:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));

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




回复 使用道具 举报
tianleboy 发表于 2014-9-9 16:00
在毕老师第19天的视屏中
键盘的常用写法:
BufferedReader bufr = new BufferedReader(new InputStreamRead ...

BufferedReader和Scanner  有啥区别?  求指教!
回复 使用道具 举报
言钟钟 发表于 2014-9-9 16:28
BufferedReader和Scanner  有啥区别?  求指教!

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

而你说的Scanner只是读取用户在命令行输入的各种数据。 是SDK1.5新增的一个类。
回复 使用道具 举报
方法一:从控制台接收一个字符,然后将其打印出来

  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类型的变量,只需做一点小小的改变,就能够实现功能!无疑他是最强大的!
回复 使用道具 举报 1 0
MeryStyle 来自手机 中级黑马 2014-9-9 18:37:49
13#
有整理好的,http://bbs.itheima.com/forum.php?mod=viewthread&tid=141727&mobile=2
回复 使用道具 举报
零点12 发表于 2014-9-9 18:24
方法一:从控制台接收一个字符,然后将其打印出来

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

给个赞.......
回复 使用道具 举报
沈木生 来自手机 中级黑马 2014-9-9 19:06:19
15#
我来看下他们的回复
回复 使用道具 举报
cherry@cookie 来自手机 中级黑马 2014-9-9 19:35:47
16#
学习了,,,
回复 使用道具 举报
看回复,涨姿势
回复 使用道具 举报
好屌,学到了
回复 使用道具 举报
tianleboy 发表于 2014-9-9 16:51
BufferedReader是Reader体系中缓冲区。而Reader体系中可以操作文件的对象时 FileReader。是文件读取的Io ...

哦  搜噶    reader更高级啊!    谢谢啦!{:2_31:}
回复 使用道具 举报
涉江 中级黑马 2014-11-18 10:25:07
20#
学习了,我平常用的都是 java.util.Scanner 类,现在才明白有这么多方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马