首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

readLine java.lang.NumberFormatException: For input string: ""

2011-11-18 
readLine java.lang.NumberFormatException: For input string: Java codeimport java.io.*public clas

readLine java.lang.NumberFormatException: For input string: ""

Java code
import java.io.*;public class java2_002 {    public static void main(String[] args) {        int i,n=10,max=0,min=0,temp=0;        try {            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));            for (i=1;i<=n;i++){                temp = Integer.parseInt(br.readLine());                if temp                if (i==1){                    max = min = temp;                }else{                    if (temp > max) max=temp;                    if (temp < min) min=temp;                }                //System.out.println("i="+String.valueOf(i));                        //如果我这一句不隐藏的时候就能正常输入,隐藏以后输入第二个数字的时候就提示如标题那串错误提示。            }        }        catch (Exception ex) {            System.out.println(ex.getStackTrace());        };        System.out.println("max="+max+"\nmin="+min);    }}
请大家帮忙。这是为什么?

[解决办法]
输入的数字型,但输出的时候书字符型.
肯定要用到数据类型转化拉

[解决办法]
temp = Integer.parseInt(br.readLine());
跟你下面这个没关系
探讨
System.out.println("i="+String.valueOf(i));
如果有加这一句就不会了。这是为什么。

[解决办法]
Java code
import java.io.*;public class java2_002 {    public static void main(String[] args) {        int i,n=10,max=0,min=0,temp=0;        try {            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));            for (i=1;i<=n;i++){                temp = Integer.parseInt(br.readLine());                if temp//这个是什么?//...                if (i==1){                    max = min = temp;                }else{                    if (temp > max) max=temp;                    if (temp+)
[解决办法]
那你是怎么输入弄出那个错误来的,把怎么操作的详细说下
[解决办法]
你肯定是输入了空行,至于你小心翼翼的怎么操作得来的我也不知道
你先在temp = Integer.parseInt(br.readLine());
parseInt操作之前,对br.readLine()做判断吧
[解决办法]
这个应该是由于缓存导致的。你最好一次把3个数都输入了,用空格分开.
由于你第一次输入的时候缓存里面还没有内容,第二次的时候缓存内就有多余的空行了
System.out.println("i="+String.valueOf(i));
上面这句强行刷新了缓存,个人感觉是这样的。建议你这么改下看看

temp = new Integer(br.readLine().trim()).intvalue();

热点排行