2013-04-24 4 views
0

Я хочу программу, которая печатает следующее: (3,0), (2,1), (1,2) и (0,3)Начиная с Java: 'для' петли

Но я могу «Правильно, см. код ниже. Каким будет подходящий синтаксис для получения того, что я хочу?

public class experiment1 { 
    public static void main(String[] args) { 
     for(int i = 3, int j = 0; i >= 0, j <= 3; i--, j++) 
     { 
      System.out.println(i + "\t"+ j); 
     } 
    } 
} 
+3

Вам нужны вложенные циклы. –

+2

Почему вы используете два вара? Он выглядит как 'j = i - 3' для' 0 <= i <= 3' – thegrinner

ответ

10

Вам не нужно включать в этот цикл две переменные. В общем, старайтесь избегать чрезмерного усложнения кода, добавляя дополнительные переменные/ненужные механизмы.

Попробуйте это:

for(int i = 0; i <= 3; i++){ 
    System.out.println((3-i) + "\t" + i); 
} 
1

Вы можете:

  • Используйте & &, а не запятой: (я> = 0) & & (J < = 3)
  • Использование одной переменной, а также выполнять арифметические операции на нем в теле цикла: System.out.println (i + "," + (3-i))

Оператор запятой r принимает два выражения, выполняет оба из них и возвращает значение последнего.

-1

Самое лучшее, что я мог придумать для этого используется по модулю.

for(int i = 0; i < 3; i++) { 
    System.out.println("(" + i % 3 + "," + i + ")); 
} 

Это устраняет необходимость использования второй переменной.

0

Ваше решение верное, за исключением ошибки синтаксиса. Без изменения кода ваш код будет выглядеть следующим образом:

for (int i = 3, j = 0; i >= 0; i--, j++) 
{ 
    System.out.println(i + "\t"+ j); 
} 
+0

спасибо carlos & everyone! – LorrJ

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