题目是:系统自动输入10个随机数。 然后找出最大和最小的 
我写完了 编译时候有错误。麻烦大家排错。import java.util.Arrays;
import java.util.Random;
public class Demo1 { /**
 * @param args
 */
public static void main(String[] args) {
       
  Random a=new Random();
  int i;
  int []arr=new int[10];
  for( i=0;i<=9;i++)
  {   int b=a.nextInt(100);
  arr[i]=b;
  
  }
  
  System.out.println(arr[i]);
  Arrays.sort(arr);
  
  
}

}
  
  
错误信息:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at Demo1.main(Demo1.java:20)   
麻烦大家帮助下。

解决方案 »

  1.   

    System.out.println(arr[i]);这个时候 i 已经等于10了,当然数组越界
      

  2.   


    import java.util.Arrays;
    import java.util.Random;
    public class Demo1 {    /**
         * @param args
         */
        public static void main(String[] args) {
           
          Random a=new Random();
          int i;
          int []arr=new int[10];
          for( i=0;i<=9;i++)
          {   int b=a.nextInt(100);
              arr[i]=b;
              
          }
          
          Arrays.sort(arr);
          System.out.println(arr[0]);
          System.out.println(arr[9]);
          
        }
        
    }
      

  3.   

    还是别让别人替你改了,你这个是基础问题。进行下一次判断是上一次的值+1之后的。i=9还满足条件执行,当然还要继续+1知道不满足条件为止了。记住循环之后的i肯定是不满足循环条件的。以后用i很容易出错。建议楼主不要这样写代码
      

  4.   

    自己不能证明自己的程序是正确的,并找到问题,水平就不可能提高。
    如果希望自己提高地更快就自己搞定。知道怎么用像 Eclipse 这样的 IDE 来 debug 吗?学习这个也很重要。
      

  5.   

    对头 最后一次i++的时候 i已经为10 所以才不满足条件
    你要打印结果 再写个for循环就行了
    这种错误自己DEBUG完全是可以解决的
      

  6.   

    import java.util.Arrays;
    import java.util.Random;
    public class Demo1 {    /**
         * @param args
         */
        public static void main(String[] args) {
           
          Random a=new Random();
          int i;
          int []arr=new int[10];
          for( i=0;i<=9;i++)
          {   int b=a.nextInt(100);
              arr[i]=b;
              System.out.println(arr[i]);      }
          
      [color=#FF0000]    System.out.println(arr[i]);[/color]      Arrays.sort(arr);
          
          
        }
        
    }
      

  7.   

    import java.util.Arrays;
    import java.util.Random;
    public class Demo1 {    /**
         * @param args
         */
        public static void main(String[] args) {
           
          Random a=new Random();
          int i;
          int []arr=new int[10];
          for( i=0;i<=9;i++)
          {   int b=a.nextInt(100);
              arr[i]=b;
               System.out.println(arr[i]);
          }
          
          System.out.println(arr[i]);      Arrays.sort(arr);
          
          
        }
        
    }