for-Schleife zählen

yuuz11

Mitglied
Hallo Zusammen,
ich komme leider bei einer Problematik nicht weiter.
das Grundprinzip ist simple, es handelt sich um ein Münzwurf-Spiel.
meine Frage ist, wie kann ich das Programm dazu bringen die Runden, bei der Spieler A oder B gewonnen hat zu zählen? :bahnhof:
Java:
  for(int t = 0; t<10; t++){
            
            if(SpielerA[t] == Vorgabe[t] & SpielerB[t] != Vorgabe[t])
                System.out.println("Runde "+t+"  Spieler A gewinnt ");
            

            else if(Vorgabe[t] != SpielerA[t] & SpielerB[t] != Vorgabe[t] | Vorgabe[t] == SpielerA[t]  & Vorgabe[t] == SpielerB[t])
                System.out.println("Runde "+t+"  keiner hat gewonnen");

            else 
                System.out.println("Runde "+t+"  Spieler B gewinnt ");
               
    
        
        }
    System.out.println("----------------------------------------------");
 
danke Schön für die Schnelle Antwort, es scheint zu funktionieren aber irgendwas habe ich durcheinander gebracht😳
sowas kommt raus:
Runde 0 Spieler A gewinnt
Runde 1 keiner hat gewonnen
Runde 2 Spieler B gewinnt
Spieler A hat 1 Runden gewonnen Spieler B hat 1 Runden gewonnen
Runde 3 Spieler A gewinnt
Runde 4 keiner hat gewonnen
Runde 5 keiner hat gewonnen
Runde 6 keiner hat gewonnen
Runde 7 keiner hat gewonnen
Runde 8 keiner hat gewonnen
Runde 9 Spieler B gewinnt
Spieler A hat 2 Runden gewonnen Spieler B hat 2 Runden gewonnen
Java:
int Agewonnen = 0;
int Bgewonnen = 0;

        for(int t = 0; t<10; t++){
            
            if(SpielerA[t] == Vorgabe[t] & SpielerB[t] != Vorgabe[t]){
                System.out.println("Runde "+t+"  Spieler A gewinnt ");
                Agewonnen+=1;
            
            }
            else if(Vorgabe[t] != SpielerA[t] & SpielerB[t] != Vorgabe[t] | Vorgabe[t] == SpielerA[t]  & Vorgabe[t] == SpielerB[t]){
                System.out.println("Runde "+t+"  keiner hat gewonnen");
            }
            else {
                System.out.println("Runde "+t+"  Spieler B gewinnt ");
                Bgewonnen+=1;
            
             
       System.out.println( "Spieler A hat " + Agewonnen +" Runden gewonnen" + " Spieler B hat " + Bgewonnen
                        + " Runden gewonnen" );
        
     
        }
    }
    System.out.println("----------------------------------------------");
 
Du mußt Deine Endausgabe außerhalb Deiner for-Schleife machen.

Ungefähr so: (Pseudocode)
Code:
int summeA = 0;
int summeB = 0;
for (.....) {
if (a==1) {
sysout...
summeA++;
} else {
sysout...
summeB++;
}
}  // end for
sysout (summen)...
f5
 
Zuletzt bearbeitet:
variablennamen kleinschreiben

so hab ich das gelöst, gibt auch eine relative saubere ausgabe. wenn du es noch besser willst schau dir String.format(); an

Java:
import java.util.Random;

/**
 *
 * @author Christian
 */
public class Muenzwurf{
    
    int aGewonnen, bGewonnen =0;
    int[] spielerA, spielerB;
    int muenzwurf;
    public static final int RUNDEN =15;
    
    Random coinFlip =new Random();
    
    private void initPlayers(){
        spielerA=new int[ RUNDEN];
        spielerB =new int[ RUNDEN];
        for( int i =0; i <spielerA.length; i++){
            spielerA[ i] =coinFlip.nextInt( 2);
            spielerB[ i] =coinFlip.nextInt( 2);
            System.out.println( "SpielerA: " +spielerA[ i] +" SpielerB: " +spielerB[ i]);
        }
    }
    
    
    private void runGame(){
        for( int i =0; i <RUNDEN; i++){
            muenzwurf =coinFlip.nextInt( 2);
            if( spielerA[ i] ==spielerB[ i]){
                if( spielerA[i] ==muenzwurf){
                    aGewonnen++; bGewonnen++;
                    System.out.println("Runde " +(i+1) +"haben beide Spieler gewonnen. Münzwurf war " +muenzwurf);
                } else{
                    System.out.println( "Runde " +(i+1) +" hat keinen Gewinner. Münzwurf war " +muenzwurf);
                }
            } else if( spielerA[ i] ==muenzwurf){
                aGewonnen++;
                System.out.println("Runde " +(i+1) +"hat Spieler A gewonnen. Münzwurf war " +muenzwurf);
            } else{
                bGewonnen++;
                System.out.println("Runde " +(i+1) +"hat Spieler B gewonnen. Münzwurf war " +muenzwurf);
            }
        }
    }
    
    public static void main( String[] args){
        Muenzwurf m =new Muenzwurf();
        m.initPlayers();
        m.runGame();
        System.out.println(" SpielerA hat " +m.aGewonnen +" und SpielerB hat " +m.bGewonnen +" Würfe richtig.");
    }
}
 
Zuletzt bearbeitet:
Hallo Stußi,

danke für deine Antwort. Dein Vorschlag ist super, werde daraus nützliche Informationen gutmöglich ziehen 🙂

LG Yuuz11
 

Zurück
Oben