1. ホーム
  2. Java

スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException:5 エラー

2022-02-14 12:22:26

スレッド "main" java.lang.ArrayIndexOutOfBoundsException:5 エラーで例外が発生しました。

public class Java4
{
	public static void main(String args[]){
	 int i,min,max;
	 int A[]={74,48,30,17,62};

System.out.println("Elements of array A:"+74+",\t"+48+",\t"+30+",\t"+17+",\t"+62);
	 min=max=A[0];
	 for(i=0;i<=A.length;i++){
	  
	  if(A[i]>max)
	  max=A[i];
	  
	  if(A[i]<min)
	  min=A[i];

}
	 System.out.println("max"+max+"min"+min);
	}
}












for(i=0;i<=A.length;i++){。
に変更する
 for(i=0;i<=A.length - 1;i++){。
これだけでいいんです。
なぜ1を引くのか?
A.lengthは5です。
そして、javaの配列は0から始まり、5つの要素は次のとおりです。
0,1,2,3,4
つまり、最大境界は4であり、5-1となります。

for(i=0;i<=A.length;i++){
change to
 for(i=0;i<=A.length - 1;i++){
and it works

Why subtract a 1?





And the java array starts with 0. The 5 elements are
0,1,2,3,4
So the maximum bound is 4, which is 5-1


A.lengthは5です。
And the java array starts with 0. The 5 elements are
0,1,2,3,4
So the maximum bound is 4, which is 5-1