2016-06-06 10 views
0

Ich versuche, ein Blackjack-Spiel zu tun, aber ich weiß nicht, wie Sie den Wert von "ACE" auf 1 ändern, wenn 11 zu hoch ist. Ich versuche jetzt, eine Arraylist nach A zu durchsuchen, um den Wert von einem oder mehreren von ihnen zu ändern. Aber wie kann ich sehen, wie viel A's in meinem Arraylist sind?Arraylist suchen nach bestimmten Element

 while (getPointsPC() < 17 || getPointsPC() < getPointsPL()){ 

      int acees = 0; 

      random = bj.getRandom(); 
      CardsPC.add(bj.getCard(random)); 
      setPointsPC(random); 

      lblPointsPC.setText("Points Dealer: " + Integer.toString(getPointsPC())); 

      String text = CardsPC.get(0); 
      for(int i = 1; i < CardsPC.size(); i++){ 
       text = text + ", " + CardsPC.get(i); 
      } 

      if (CardsPC.contains("A") && getPointsPC() > 21 && acees < CardsPC.**HOW_MUCH_A's???**){ 
       setPointsPC(13); 
       acees++; 
      } 

      lblCardsPC.setText(text); 

     } 
+2

Ich wusste nicht, "[ASS] (https://c1.staticflickr.com/3/2651/3892880140_52ec991129.jpg)" hatte eine Nummer. Meintest Du "ACE"? – Andreas

Antwort

1

Ist Ihre CardsPC Ihre erwähnte ArrayList? Gerade gesetzt Zählvariable:

String text = ""; 
int counter = 0; 
for(int i = 0; i < CardsPC.size(); i++){ 
    text = text + (i > 0 ? ", " : "") + CardsPC.get(i); 
    if (CardsPC.get(i).contains("A")) { // or use equals, base on your input. 
      counter++; 
      // do something with found "A" element if you want. 
    } 
} 
Verwandte Themen