1

我是编程新手,希望能得到一些指导,我搜索了线索但没有运气。我为二维数组编写了代码,我的问题是我无法让行号和列号与元素一起显示……这是我现在最接近的输出是;

  T F F T F F 
0 F F T F F T 
1 F T F F T F 
2 T F F T F F 
3 F F T F F T 
4 F T F F T F 
5 

我需要输出;

  0 1 2 3 4 5
0 T F F T F F 
1 F F T F F T 
2 F T F F T F 
3 F F T F F T
4 F T F F T F
5 T F F T F T

代码如下: public class Array {

public static void main(String[] args) {
    System.out.print("  ");
    boolean [][] a;
    int N = Integer.parseInt(args[0]);
    a = new boolean [N][N];
    for (int i = 0; i<a.length;i++){ 
        for (int j = 0; j<a[0].length;j++){
            a[i][j] = true; 
            int sum = (i+j);

            if (sum%3==0) {
               System.out.print(   "T " );
            } else {
               System.out.print(  "F ");
            }
   }
         System.out.println();
        System.out.print(i + " ");
    }
     }

}

谢谢您的帮助。

4

2 回答 2

3

这段代码没有产生这个输出(你显然没有粘贴所有的代码)。

但是,您的基本问题是您在行数据之后输出行号。改变它,你会更接近。

输出一个特殊的“标题行”,你会更接近。

祝你学习编程好运!


提示:你在这里问的越少,试着弄清楚自己,你就会学得越好、越快。

于 2012-06-22T02:43:24.450 回答
1

在您的代码中,您已经一次打印一行,因此将行号附加到每行的开头(即,在您打印任何值之前)是微不足道的。

至于列,你需要记住,System.out只能从左到右打印,不能上下打印。因此,在打印数组的其余部分之前,您需要打印库仑数。

在这段代码中查看我的评论:

public static void main(String[] args) {
    boolean [][] a;
    int N = Integer.parseInt(args[0]);
    a = new boolean [N][N];

    System.out.print("  "); //print the spacer for the row numbers
    for (int i = 0; i < N; i++){
         System.out.print(i + " "); //print the column number
    }

    for (int i = 0; i<a.length;i++){ 
        System.out.print("\n" + i + " "); //new line plus row number

        for (int j = 0; j<a[0].length;j++){
            a[i][j] = true; 
            int sum = (i+j);

            if (sum%3==0) {
                System.out.print("T ");
            } else {
                System.out.print("F ");
            }
        }
    }
}

此外,您的缩进和括号使用有点混乱(正如其他人所说)。看我的代码。看看查看 for 循环的开始位置和结束位置是多么容易?看看里面有什么是多么容易?

于 2012-06-22T02:45:11.640 回答