Java Array列和行编号

时间:2012-06-22 02:33:01

标签: java arrays

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

  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 + " ");
    }
     }

}

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

此代码未生成此输出(您显然没有粘贴所有代码)。

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

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

学习编程祝你好运!


提示:你在这里问的越少,并试图找出自己,你将学到更好,更快。

答案 1 :(得分: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循环开始的位置是多么容易,结束了吗?看看里面有什么是容易的吗?