关于一个异常处理方面的问题

[复制链接]
查看11 | 回复3 | 2012-4-17 01:20:16 | 显示全部楼层 |阅读模式
System.out.println("请输入该学生学号:");int index =Integer.parseInt((char)( br.read())+ "");//如果输入1,返回结果是49,也就是转换为char的值,需要转换过来。if (index >= 0 &&index <= stu.length) {System.out.println("该学生成绩为:");System.out.println(stu[((char) index) - 1]);}} catch (Exception e) {e.printStackTrace();}...
回复

使用道具 举报

千问 | 2012-4-17 01:20:16 | 显示全部楼层
错在这里,int index = br.read();例如,你输入3,其实程序认为他是char类型的‘3’,按照ASCII码的话应当是51,你可以去查询一下,所以写成int index =Integer.parseInt(br.readLine());比较合适;还有一个错误就是System.out.println(stu[index]);,因为ind...
回复

使用道具 举报

千问 | 2012-4-17 01:20:16 | 显示全部楼层
楼上的回答还是对的,问题就出在这里int index=br.read();此时不能这么用了,我把你的输入换成Scanner就好了!Scanner sc=new Scanner(System.in);System.out.println("请输入该学生学号:");int index = sc.nextInt();这个就跟br有关系了,一...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行