这是小弟按题目编的一个程序,不知道哪方面出错了,
能帮忙看看吗?因为是自学者也是初学者,唯有求助大家了!
希望大家能够帮帮我,谢谢!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]);
}}
能帮忙看看吗?因为是自学者也是初学者,唯有求助大家了!
希望大家能够帮帮我,谢谢!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]);
}}
public void actionPerformed(ActionEvent e) {
s1 s=new s1();
s.setVisible(true);
}
});这个地方错了哦!我帮你改了哦,你看看!
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