为什么输入over会报异常

Mr_sunrise 2016-09-16 04:26:09
public static void main(String[] args) throws IOException {
AreaTest largeArea=new AreaTest();


// int[] h={2,1,5,6,2,3};
int[] h=new int[100];
// int i=0;
// Scanner reader=new Scanner(System.in);
////
// while(reader.hasNextInt())
// {
// h[i++]=reader.nextInt();
//
// }
// reader.close();
BufferedReader brin=new BufferedReader(new InputStreamReader(System.in));
String buffer=null;
while((buffer=brin.readLine())!=null)
{
if(buffer=="over")
break;
// else{
char[] ch=buffer.toCharArray();
for(int i=0;i<ch.length;i++)
h[i]=Integer.parseInt(String.valueOf(ch[i]));
System.out.println(largeArea.area(h));
// }
}
brin.close();



}
当我输入over的时候程序while循环应该正常结束,回合汇报异常?
Exception in thread "main" java.lang.NumberFormatException: For input string: "o"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at com.tanqil.test.Main.main(Main.java:38)
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ColdFireMan 2016-09-17
  • 打赏
  • 举报
回复
h[i]=Integer.parseInt(String.valueOf(ch[i]));这句话有问题
Mr_sunrise 2016-09-17
  • 打赏
  • 举报
回复
谢谢2楼。忘了这是字符串的比较
rumlee 2016-09-17
  • 打赏
  • 举报
回复
buffer=="over" 改成 buffer.equals("over") 即可 你这样的写法,输入over的时候,程序无法break,会继续往下执行,所以在parseInt的时候自然会报错。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧