1

私はプログラミングに不慣れで、うまくいけばいくつかのガイダンスを得ることができます、私は手がかりを探しましたが、運がありませんでした。2次元配列のコードを作成しましたが、問題は、行番号と列番号を要素と一緒に表示できないことです...これは、現在出力されているものに最も近いものです。

  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

コードは次のとおりです。publicclassArray{

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

コードでは、一度に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 に答える