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);
    }
}请大家帮忙。这是为什么?

解决方案 »

  1.   

    System.out.println("i="+String.valueOf(i));
    如果有加这一句就不会了。这是为什么。
      

  2.   

    temp = Integer.parseInt(br.readLine());
    跟你下面这个没关系
    自己小心点,别没输数字就按回车了,没输数字按回车就是你那个错误了
      

  3.   


    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);
        }
    }
      

  4.   

    if temp 不好意思。这句没用。我复制过来的时候忘了删掉了。
      

  5.   

    作业要求:编写一个字符界面的Java  Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。我输入第一个数字时没有提示,接着输入第二个数字时就提示错误:操作如下:
    第一次输入:2
    第二次输入:3
    [Ljava.lang.StackTraceElement;@35ce36
    For input string: ""
    max=2
    min=2捕捉异常是:
    catch (Exception ex) {
    System.out.println(ex.getStackTrace());
    System.out.println(ex.getMessage());
    };
      

  6.   

    你肯定是输入了空行,至于你小心翼翼的怎么操作得来的我也不知道
    你先在temp = Integer.parseInt(br.readLine());
    parseInt操作之前,对br.readLine()做判断吧
      

  7.   

    这个应该是由于缓存导致的。你最好一次把3个数都输入了,用空格分开.
    由于你第一次输入的时候缓存里面还没有内容,第二次的时候缓存内就有多余的空行了
    System.out.println("i="+String.valueOf(i));
    上面这句强行刷新了缓存,个人感觉是这样的。建议你这么改下看看temp = new Integer(br.readLine().trim()).intvalue();
      

  8.   

    temp = Integer.parseInt(br.readLine());
    改成String str = br.readLine();
    if (str.length() == 0) {
      System.err.println("--- empty line.");
      --i;
      continue;
    }
    temp = Integer.parseInt(str);试试。