黑马程序员技术交流社区

标题: 关于键盘录入,求解 [打印本页]

作者: 考不上黑马    时间: 2015-4-27 22:18
标题: 关于键盘录入,求解
各位同学大家好,不是那种空泛的问题,是我的实际需求
问题是这样的,需要键盘录入一个整数。我嫌弃第一张方法麻烦,想用第二种可是我输入200缺打印的是842018829。我是不是应该乖乖写传统键盘录入就好还是?请给个解决方案。似乎是跟字节位数有关?
//BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in)); 用这个还需要字符串转整数什么的麻烦
                DataInputStream dis = new DataInputStream(System.in);
                int num = 0;
                try{
                        num = dis.readInt();
                }
                catch(IOException e){
                        throw new IOException("参数类型错误");
                }
                finally{
                        try{
                                dis.close();
                        }
                        catch(IOException e){
                                throw new RuntimeException("流关闭失败");
                        }
                }
                        System.out.println(num);
作者: 考不上黑马    时间: 2015-4-27 22:33
哎呀,朋友已经告诉我问题了 DataInputStream必须和 DataOutputStream配套使用,键盘录入的是一个字节,我却读取了4个字节,所以出问题了。我还是乖乖的转换吧
作者: Chans_宇    时间: 2015-4-27 23:45
IO流……才开始接触……
作者: 怪学究    时间: 2015-4-28 00:06
键盘录入不是要用Scanner导包么?
作者: 考不上黑马    时间: 2015-4-28 11:00
怪学究 发表于 2015-4-28 00:06
键盘录入不是要用Scanner导包么?

导入方法很多吧关键都是把System.in导进去。Scanner听说控制台用的比较多。再说我看的视频也没有讲到这个类。所以不太了解。Scanner确实可以直接nextInt   谢谢了
作者: 考不上黑马    时间: 2015-4-28 11:02
Chans_宇 发表于 2015-4-27 23:45
IO流……才开始接触……

加油,我觉得IO蛮简单的。分清楚源和目的还有数据类型就好。那些类都是有规律的,很好记
作者: jiangwenjun    时间: 2015-4-28 11:03
不是用  用Scanner类的方法也可以!不要写那么多
作者: 大西洋    时间: 2015-4-28 11:07
Scanner 方便一点;

  1. Scanner scan = new Scanner(System.in);
  2. int ai = scan.nextInt(); // 这样就可以接收键盘输入的整数了~
复制代码

作者: ninjaes    时间: 2015-4-28 11:17
对呀  貌似 scanner方法 视频没有讲呀 还要自学呀  




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