私の最後の目的は、メソッドmatches()
を作成するよう求めます。それは、別のGenericMemoryCell
をパラメータとして受け取り、格納された値の両方が現在のGenericMemoryCell
の格納された値で見つかる場合、真を返します。格納された値の順序は重要ではありません。メソッドの作成同じクラスの別のインスタンスを渡して、格納されている値を現在の格納されている値と比較します
は難しいことではありませんでしたが、私はGenericMemoryCell
の別のインスタンスを渡すという概念のまわりで私の頭をラップすることはできませんのでmain()
からそれを呼び出す方法に失われています。最初にstoredValueA
とstoredValueB
という別のペアを取得するのはどこですか? matches()
はプログラム全体の仮想インスタンスを「実行中」ですか?
import java.util.*;
public class GenericMemoryCell<T>{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter valueA: ");
String readerA = input.next();
System.out.print("Enter valueB: ");
String readerB = input.next();
GenericMemoryCell<String> values = new GenericMemoryCell<>(readerA, readerB);
System.out.println("storedValueA: " + values.readA());
System.out.println("storedValueB: " + values.readB());
values.writeA(readerA);
values.writeB(readerB);
}
public GenericMemoryCell(T storedValueA, T storedValueB)
{ this.storedValueA = storedValueA; this.storedValueB = storedValueB; writeA(storedValueA); writeB(storedValueB); }
public T readA()
{ return storedValueA; }
public T readB()
{ return storedValueB; }
public void writeA(T x)
{ storedValueA = x; }
public void writeB(T y)
{ storedValueB = y; }
public boolean matches(GenericMemoryCell<T> that){
return (this.storedValueA.equals(that.storedValueA) && this.storedValueB.equals(that.storedValueB)); }
private T storedValueA, storedValueB;
}
... – Leo
@Leo、方法は、すべての(何が静的ではない)呼び出しを行うオブジェクトを操作する必要があります。 – mzeeirka