我是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
答案 0 :(得分:0)
该程序很好,但您似乎以错误的方式使用它。从例外情况来看,您在控制台上输入了5 10
length
和width
的值,但这两个变量都尝试解析整个行输入。也就是说,读取输入行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]);
答案 1 :(得分:0)
输入不是无法解析的数字。
5 10之间有空格。