注册 登录
编程论坛 新人交流区

[求助]怎么修改

bizika526 发布于 2007-10-21 01:08, 288 次点击


import java.io.*;
class paixu
{
public static void main(String[] args)throws IOException
{
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
String str=null;
int i,x[]=new int[10];
System.out.print("请输入10个整数:");
for(i=0;i<10;i++)
{str=br.readLine();
x[i]=Integer.parseInt(str); }


for(i=9;i>-1;i--)
System.out.println(10-i+":"+x[i]);
}
}
提示的错误信息

G:\javacaogao>javac paixu.java
paixu.java:13: 可能尚未初始化变量 str
x[i]=Integer.parseInt(str);
^
1 错误
问题补充:对str初始化了,或者按照其他同志所说的方法,都得不到结果,
提示错误信息

请输入10个整数:0 1 2 3 4 5 6 7 8 9
Exception in thread "main" java.lang.NumberFormatException: For input string: "0
1 2 3 4 5 6 7 8 9"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at paixu.main(paixu.java:13)

3 回复
#2
sayadiva2007-10-21 04:04
以下是引用bizika526在2007-10-21 1:08:24的发言:


import java.io.*;
class paixu
{
public static void main(String[] args)throws IOException
{
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
String str; //这里不用初始化了
int i,x[]=new int[10];
System.out.print("请输入10个整数:");
str = br.readLine(); //读取数据
String[] s = str.split(" "); //去掉数字间的" ",把数字存到字符串数组里
for(i=0;i<10;i++)
{x[i]=Integer.parseInt(s[i]); } //把字符串数组,转换成整形数组


for(i=9;i>-1;i--)
System.out.println(10-i+":"+x[i]);
}
}
提示的错误信息

G:\javacaogao>javac paixu.java
paixu.java:13: 可能尚未初始化变量 str
x[i]=Integer.parseInt(str);
^
1 错误
问题补充:对str初始化了,或者按照其他同志所说的方法,都得不到结果,
提示错误信息

请输入10个整数:0 1 2 3 4 5 6 7 8 9
Exception in thread "main" java.lang.NumberFormatException: For input string: "0
1 2 3 4 5 6 7 8 9"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at paixu.main(paixu.java:13)

readLine()方法是读取一整行的String,是不能转成int的。split()方法可以根据给定参数拆分字符串返回字符串数组

#3
leo86852007-10-21 06:28
楼上的厉害。
#4
bizika5262007-10-22 10:43
谢谢你,我明白了,还望今后能多多帮助我啊,谢谢你
1