0

我是java的初学者。你能告诉我这里有什么问题吗?它正在编译但我无法执行。

import java.io.*;

class rect
{
public static void main(String args[]) throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int length,width,area;
length=Integer.parseInt(br.readLine());
width=Integer.parseInt(br.readLine());
area=length*width;
System.out.println("area"+area);

}


}

错误:线程主错误 java.lang.numberformat.exception 中的异常:5 10

4

2 回答 2

0

输入不是无法解析的数字。

5 10 之间有一个空格。

于 2013-09-26T15:42:09.507 回答
0

该程序很好,但您似乎以错误的方式使用它。从异常来看,您5 10在控制台上输入了 和 的值lengthwidth但是这两个变量都试图解析一整输入。也就是说,10 5读取输入行并 length=Integer.parseInt(br.readLine());尝试将这一行解析为一个整数,但失败了。

相反,您应该分别输入两个数字:10, <enter>, 5, <enter>; 然后它工作。

或者,您可以在一行中输入两个数字,然后使用String.split将该行拆分为两个字符串,然后可以将这两个字符串解析为整数。

String[] numbers = br.readLine().split(" ");
length = Integer.parseInt(numbers[0]);
width  = Integer.parseInt(numbers[1]);
于 2013-09-26T15:41:50.550 回答