まず、「配列」のことは忘れて、「クラス」について考えることをお勧めします。Java はオブジェクト指向言語です。必要な動作をクラスにカプセル化します。と呼びましょうTableau
。
クラスが正しく動作するために必要な、少なくとも 4 つの異なる動作があります。
- Stream または Reader から Tableau に値を読み込む (例
PrintStream
: FileInputStream
)
- Tableau の行と列の合計を計算する
- Tableau を文字列としてレンダリングします。
- 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();
}
}