이중 배열을 가지고 놀고 있습니다. 배열의 모든 짝수 요소를 0으로 설정하고 배열의 홀수 요소를 모두 1로 설정하려고합니다. 모든 것이 괜찮아 보입니다. , 그러나 나는 그것을 실행할 때 나는 많은 오류를 얻는다. 무엇이 잘못되었는지 확실하지 않습니다. 나는 운이없는 동안 잠시 그것을보고 있었다. 그것이 제공하는 오류를 해결하는 방법에 대한 조언은 훌륭합니다, 감사합니다!도 0으로 설정되고 홀수 값은 1로 설정됩니다.
번호 : 주어진
public class SetOf0and1 {
public static void main(String[]args)
{
int [][] numbers1 = {{4,2,5}, {2,4,1}, {1,3}};
System.out.println("Before setting elements between 0 and 1: ");
displayArray(numbers1);
setEvenRowsTo0OddRowsTo1 (numbers1);
System.out.println("After setting the elements between 0 and 1");
displayArray(numbers1);
}
public static void setEvenRowsTo0OddRowsTo1(int [][]array)
{
for(int i=0; i<array.length;i++)
{
for(int j=0; j<array[i].length;j++)
{
if(i%2 == 0)
array[i][j]=0;
else
array[i][j]=1;
}
}
}
public static void displayArray(int [][]array)
{
for(int i=0;i<array.length;i++)
{
for(int j=0; j<array.length;j++)
{
System.out.println(array[i][j] + " ");
}
System.out.println();
}
}
}
오류 :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at SetOf0and1.displayArray(SetOf0and1.java:38)
at SetOf0and1.main(SetOf0and1.java:10)
주 : 대신 2 루프 용
사용이 경우 '(I % 2 == 0) 배열 [I] [J] = 0; else [array [i] [j] = 1;'array [i] [j] = i % 2; – assylias