Java IndexOutOfBoundsException
这里的Java代码非常简单。。但是有一种出格的感觉,我不知道为什么?任何帮助都会很好 在任何人问这是否是家庭作业之前,不,不是,是为了备考Java IndexOutOfBoundsException,java,arrays,exception,Java,Arrays,Exception,这里的Java代码非常简单。。但是有一种出格的感觉,我不知道为什么?任何帮助都会很好 在任何人问这是否是家庭作业之前,不,不是,是为了备考 import java.util.Scanner; public class exampractice { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[] a = {1,2,3}; i
import java.util.Scanner;
public class exampractice {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] a = {1,2,3};
int min = a[0];
int max = a[0];
for (int i = 0; i <= a.length; i++){
if(a[i] < min)
min = a[i];
else
if(a[i] > max)
max = a[i];
}
System.out.println("Min is"+min+ "\nMax is: " + max);
}
}
import java.util.Scanner;
公开课考试实践{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
int[]a={1,2,3};
int min=a[0];
int max=a[0];
对于(int i=0;i max)
max=a[i];
}
System.out.println(“最小值为“+Min+”\n最大值为“+max”);
}
}
它应该是for(int i=0;i当a是一个数组并且数组是基于零的索引时,您必须将它从0循环到a.length-1。这足以更改i数组使用基于0的计数,并且在for循环中,ii应该介于0和a.length-1之间,因为数组的第一个元素以键0开始。
所以for条件应该严格小于而不是小于或等于a.length。你的for循环应该是
,而不是FACEPALM欢呼的家伙们。.哈哈,你犯了一个“一个接一个”的错误。通常你应该检查代码的边缘情况。尤其是总是检查=当然)。更改
for(index = 0; index < array.length ; index++)
char aString[MAXLENTH]; // declare a string array
char * aString ;
aString = (char *) malloc(MAXLENGTH]; // or malloc it
// constructing a string with catenation
aString[0] = '\0'; // now either way this is guaranteed an empty string
if((aString = (char *) malloc(MAXLENGTH) == NULL){
// report out of memory
exit(BAD);
}
for (int i = 0; i <= a.length; i++)
for (int i = 0; i < a.length; i++)
for (int i = 0; i < a.length; i++)
for (int i = 0; i < a.length; i++)
for (int i = 0; i < a.length; i++) {