这是小弟按题目编的一个程序,不知道哪方面出错了,
能帮忙看看吗?因为是自学者也是初学者,唯有求助大家了!
希望大家能够帮帮我,谢谢!public class Main {
    static int i;    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        double j;        String arrayString = JOptionPane.showInputDialog(null,"请输入数组大小:","TEST" , JOptionPane.INFORMATION_MESSAGE);
        i = Integer.parseInt(arrayString);        double array[]=new double[i];
        for(int n=0;n<i;n++)
        {
            array[n]=(double)(Math.random());
        }
        j=getMaxValue(array);
        System.out.println(j);    }    public static double getMaxValue(double[] array){
        for(int n=0;n<i;n++)
        {
            if(array[n]<array[n+1])
                array[n+1]=array[n];
        }
        return(array[i-1]);
    }}

解决方案 »

  1.   

    btn2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    s1 s=new s1();
    s.setVisible(true);

    }
    });这个地方错了哦!我帮你改了哦,你看看!
      

  2.   

    public static double getMaxValue(double[] array){ 
            for(int n=0;n <i;n++) 
            { 
                if(array[n] <array[n+1]) 
                    array[n+1]=array[n]; 
            } 
            return(array[i-1]); 
        } 
    当n=i-1时, 数组越界.
    循环条件改成 n<i-1