少し問題があります。Java:オブジェクトの[すべて]インスタンス変数の比較
私は昨日ポーカーをしていましたが、私たちはチップを持っていなかったので、[カードなし、チップだけ]のプログラムを書くことに決めました。
私のコードでは、ゲームオブジェクトに2つの主な変数があります。
private int id;
private long bank;
私は別のファイルを持っているが、私は別の計算を行うことが可能な別にと呼ばれます。コードで
私はこの場合、[すべての銀行がマッチしたかどうかを確認するために、すべてのインスタンスに銀行変数を比較しようとしています下のこの新しいカードを引くことができることを意味しますが、そうでない場合は、ユーザーがいずれかに保つ調達する必要がありますか倍]。
が容易用語でこれを書いている方法はあります:
package poker;
import java.util.ArrayList;
public class Aside
{
public boolean compareBanks(ArrayList<Game> x)
{
ArrayList<Game> players = new ArrayList(x);
if(players.get(0).getBank() == players.get(1).getBank() && players.get(0).getBank() == players.get(2).getBank()
&& players.get(1).getBank() == players.get(2).getBank())
{
return true;
}
return false;
}
}
後、私はここに、この使用:
while(aside.compareBanks(players))
をしかし、ループがいっています。
私はかなりプログラミングの中間ですので、間違いで私に簡単に行きます。
ありがとうございます。
P.S:これはコードダンプではありません。
while(aside.compareBanks(players))
{
for(Game x : players)
{
if(x.hasPayedBid() == true)
{
System.out.println("Player : " + x.getName() + " [Call, Raise, Fold]:");
action = in.nextLine();
if(action.equalsIgnoreCase("call"))
{
break;
}else if(action.equalsIgnoreCase("raise"))
{
System.out.println("How much are you raising? $");
int raise = in.nextInt();
table += raise;
x.raise(raise);
}else
{
x.fold();
}
}
}
in.nextLine();
for(Game x : players)
{
System.out.println(x.toString() + "\n");
}
}//End While
[ジャワ:等号と==]の可能な重複(http://stackoverflow.com/questions/11378309/java-equals-and) –
'=='の代わりに '.eqials()'メソッド(これは実装する必要があります)を比較してください。 –
銀行は長い文字列ではありません。 * .equals()*を長く使うことはできないと思います。 – ThatHashCodeGuy