2015-09-11 3 views
-1
int i, k, j; 
    for(j=0; j<5; j++) 
    for(i=0,k=0; i<5,k<5; i++,k++) 
     System.out.print(c[i]+" : "+p[i][j][k]); 

я получил ошибку компилятора для этого заявлениячто случилось в этом цикле?

for(i=0,k=0; i<5,k<5; i++,k++) 

, что здесь не так?

+8

Ошибка здесь: 'я <5, к <5': это не логическое выражение. Возможно, вы имели в виду 'i <5 && k <5'? – Tunaki

ответ

0

Вы должны изменить его на следующее иметь логическое выражение для цикла:

for(i=0,k=0; i<5 && k<5; i++,k++) 
+0

Большое спасибо. – Chie

0

Если вы хотите проверить оба условия, то просто попробуйте || или && так, что он может работать .. ..

for(i=0,k=0; i<5||k<5; i++,k++) 
for(i=0,k=0; i<5&&k<5; i++,k++) 

int i, k, j; 
for(j=0; j<5; j++) 
    for(i=0,k=0; i<5||k<5; i++,k++) 
     System.out.print(c[i]+" : "+p[i][j][k]); 
+0

Большое спасибо. – Chie

0

Почему на Земле делать вам петлю на двух indistiguishableint s i и k? в соответствии с вашим кодом k является как синоним i и может быть легко удален. Сделать это просто, как

for (int j = 0; j < 5; j++) 
    for (int i = 0; i < 5; i++) 
     System.out.print(c[i] + " : " + p[i][j][i]); // "k" is "i" 
+0

Большое спасибо. – Chie

2

В Java для цикла условие должно дать быть значение boolean, так что вы должны использовать либо

for(i=0,k=0; i<5&&k<5; i++,k++) 

или

for(i=0,k=0; i<5||k<5; i++,k++) 
+0

вы можете видеть, что 'i' и' k' имеют одинаковые значения? Вы можете легко отбросить, скажем, 'k' из цикла –

+0

Большое спасибо. – Chie

0

Как было сказано ранее, условие должен быть одним.

Если вы хотите, чтобы работать в то время, по крайней мере один из двух под использованием данного значения:

i<5 || k<5 

Если вы хотите, чтобы запустить до тех пор пока один из двух превосходит использование заданного значения:

i<5 && k<5 
+0

Большое спасибо. – Chie

1

Применение

for(i=0,k=0; i<5&&k<5; i++,k++) 

ИЛИ

for(i=0,k=0; i<5||k<5; i++,k++) 

вместо

for(i=0,k=0; i<5,k<5; i++,k++) 
+0

Большое спасибо. – Chie

Смежные вопросы