正直に言うと、これは宿題の一部です。私はまったくごまかすつもりはありません。それどころか、割り当ての約 60% を完了しましたが、作成/使用する必要があるメソッドの仕様で何が求められているのか理解できず、行き詰まっています。
背景: この割り当てには、2 つのクラスを持つプログラムの作成が含まれます。1 つはメインで、もう 1 つは VectorADT と呼ばれます。VectorADT クラス (簡潔に言うと) は、2 つのインスタンス変数配列 (この割り当ての範囲内の「ベクトル」) と、両方の配列を操作するためのいくつかのインスタンス メソッド (いくつかの静的メソッドも存在します) を持つことになっています。
私の問題: 私が書かなければならない 1 つの方法は、配列の対応するスロットを追加することによって、両方のベクトル (この場合は配列) を合計することになっています。両方の配列は同じサイズであると想定されます! 私はなんとかこれをすべて行った後、指定された 2 つの VectorADT パラメーター (v1 + v2) の合計を含む VectorADT を返すように求められました。VectorADT を返すとはどういう意味ですか? クラス名じゃないの?この場合、この add メソッドに渡したオブジェクトの型は? add メソッドで return ステートメントを指定する必要があることと、return を (メイン メソッドで) 何に割り当てる必要があるかを物理的に理解していません。
メソッドの仕様: public static VectorADT add(VectorADT v1, VectorADT v2) 指定された 2 つの VectorADT の合計を生成して返します。ベクトル加算は、各ベクトルの対応する要素を加算して和ベクトルの対応する要素を取得することによって定義されることに注意してください。
パラメータ: v1 - 最初の VectorADT v2 - 2 番目の VectorADT
前提条件: v1 および v2 によって参照される VectorADT オブジェクトはインスタンス化されており、両方とも同じサイズです。
戻り値: 指定された 2 つの VectorADT パラメーター (v1 + v2) の合計を含む VectorADT。
例外: IllegalArgument - v1 または v2 が null であることを示します。InvalidSizeException - v1 と v2 のサイズが異なることを示します。
私が書いたコード:
class VectorOperations
{
public static void main(String[] args)
{
//blue and yellow are used as an example here.
int [] blue = new int [12];
int [] yellow = new int [12];
//initializes vector array using constructor
VectorADT one = new VectorADT(blue);
//initializes vector array using constructor
VectorADT two = new VectorADT(yello);
//what am i supposed assign my return to?
something????? = VectorADT.add(one, two);
}
}
public class VectorADT
{
private int [] vector;
public VectorADT(int [] intArray)
{
//constructor that initializes instance variable vector.
//vector ends up being the same size as the array in the
//constructors parameter. All slots initialized to zero.
}
public static VectorADT add(VectorADT one, VectorADT two)
{ //I used one and two instead of v1 and v2
//some if statements and try-catch blocks for exceptions i need
//if no exceptions thrown...
int [] sum = new int [one.vector.length]; //one and two are same length
for(int i = 0; i < one.vector.length; i++)
{
sum[i] = one.vector[i] + two.vector[i];
}
return //Totally confused here :(
}
//other methods similar to VectorADT add() also exist...
}
ヘルプやガイダンスをいただければ幸いです。ありがとうございました