0

我想要一个打印以下内容的程序: (3,0), (2,1) , (1,2) 和 (0,3)

但我无法正确理解,请参见下面的代码。得到我想要的东西的合适语法是什么?

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);
        }
    }
}
4

4 回答 4

10

您不需要在该循环中包含两个变量。一般来说,尽量避免通过添加额外的变量/不必要的机制来过度复杂的代码。

试试这个:

for(int i = 0; i <= 3; i++){
   System.out.println((3-i) + "\t" + i);
}
于 2013-04-24T18:00:42.797 回答
1

你可以:

  • 使用 && 而不是逗号: (i >= 0) && (j <= 3)
  • 使用单个变量,并在循环体中对其执行算术运算: System.out.println( i + "," + (3-i))

逗号运算符接受两个表达式,执行这两个表达式,并返回最后一个的值。

于 2013-04-24T17:59:48.867 回答
0

您的解决方案是正确的,除了语法错误。在不更改太多代码的情况下,修复后的“for”将如下所示:

for (int i = 3, j = 0; i >= 0; i--, j++) 
{
     System.out.println(i + "\t"+ j);
}
于 2013-04-24T18:37:51.903 回答
-1

我能想到的最好的方法是使用模数。

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

这消除了对第二个变量的需要。

于 2013-04-24T18:05:41.087 回答