私はスコアの種類を与えるポイントで別のオブジェクトを「収集」する簡単なプログラムを作成しようとしています。たとえば、「ポルシェ」にはユーザーが決めたポイントが与えられ、新しいポイントを入力すると、そのポイントが古い値に追加されます。それで、ポルシェ100点を与えてから50点を追加すると、合計点は150点になるはずです。プログラムはまた、異なる車の点数を合計して保存する必要があります(100点のBMWを追加する場合、 250(150ポイントはポルシェから来ます))。既存のポイントを上書きせずにオブジェクトにポイントを追加する
まず、私はArrayListを車で探しますが、新しいスコアを追加しようとすると、既存のものを新しい値で上書きします。
System.out.println("The name of the car: ");
String carName = readString();
Car car = findCar(carName);
if(car == null){
System.out.println("Car doesn't exist!");
return;
}
System.out.println("Add more points for the car: ");
car.setPoints(readInt());
carlist.add(car);
私はこの問題を解決する簡単な方法があると思いますが、今の私は無知だと私のグーグルでスキルは私に何も結果を与えていません。
のreadInt()やreadString()は私のスキャナー
'car.setPoints(car.getPoints()+ readInt());'? – IQV
または単純に 'addPoint(int)'メソッドを作成します。これは禁止されていません。getterとsetterは標準ですが、他のメソッドを作成することもできます。 – AxelH
@IQVありがとう!ハハ...オハイオ州の男私はそれを考えていたらいいと思う...フォローアップ - それは同じ車の重複を作成しているようです。スコアは更新する必要がありますが、50を追加して100を同じオブジェクトに追加すると、今度は同じ車のうち3つが得られますが、合計は同じです。同じオブジェクトにのみスコアを追加するには何が必要ですか? – zkulltrail