2

この問題の Java コードを見つけるのに苦労しています。まず、私は初心者レベルで、この質問に答えるのが難しかったです。これが2D配列を使用していたことは知っていますか?しかし、この質問のJavaコードを書くのに問題があります。

質問は次のとおりです。

以下の Java プログラムを作成します。

  1. 分割表の行数と列数をユーザーに問い合わせます。
  2. 行ごとにデータを読み取り、
  3. 行の合計、列の合計、および総計とともに、データを表形式で表示します。

たとえば、2x3 テーブルの 6 つのデータが

1、3、6、7、9、および 8。プログラムは、これらの 6 つの数字を適切な合計とともに次のように表示します。

1 3 6   | 10  
7 9 8   | 24  
8 12 14 | 34  

文字「|」行の合計からデータを分離するために使用されます

4

2 に答える 2

1

まず、「配列」のことは忘れて、「クラス」について考えることをお勧めします。Java はオブジェクト指向言語です。必要な動作をクラスにカプセル化します。と呼びましょうTableau

クラスが正しく動作するために必要な、少なくとも 4 つの異なる動作があります。

  1. Stream または Reader から Tableau に値を読み込む (例PrintStream: FileInputStream)
  2. Tableau の行と列の合計を計算する
  3. Tableau を文字列としてレンダリングします。
  4. Tableau を何らかの OutputStream または Writer に書き込む。

コンピューター サイエンスとは、複雑なタスクをより小さく、より管理しやすい部分に分割することです。「分解」といいます。それを学ぶ良い機会です。

それでは、ここから始めます。

package model;

public class Tableau {
    private int numRows; 
    private int numCols; 
    private int[][] values;

    public Tableau(int numRows, int numCols) {
        if (numRows <= 0) throw new IllegalArgumentException("numRows must be positive");
        if (numCols <= 0) throw new IllegalArgumentException("numCols must be positive");
        this.numRows = numRows; 
        this.numCols = numCols; 
        this.values = new int[numRows+1][numCols+1];
    }

    // You add the rest
    public String toString() { 
        StringBuilder builder = new StringBuilder();

        return builder.toString();
    }
}
于 2012-05-28T18:27:27.043 に答える
0

さて、あなたの例では: 最初に 2x3 配列を作成し、次に各セルの入力をユーザーに尋ねます (ヒント: 2 つの for ループ) 次に、行を印刷するときに、行を調べてそれらを加算して、最後の番号を印刷します. 最後に、列を調べて追加します。ヘンプリント。

実際のコードが宿題をやってくれますが、これらの手順を Java に変換できれば問題なく、2D 配列をよく理解できます。

一番。

于 2012-06-01T02:29:41.953 に答える