J'ai un devoir pour mon cours de programmation. J'ai seulement un problème que je ne peux pas comprendre. Mes instructions sont les suivantes: Écrivez un programme qui simule la fréquence à laquelle un joueur gagnerait s'il roulait 100 fois le dé. Si les joueurs obtiennent un 7 ou un 11, ils gagnentJAVA: Jeu de Craps s'assurant que ce qui est imprimé est correct
Mon problème est le suivant: Mon programme montre que je gagne plus de fois que je ne devrais l'être. Je veux seulement que mon programme imprime le message que l'utilisateur a gagné, s'il a sept ou onze, mais ce n'est pas le cas. Quelqu'un pourrait-il me donner des conseils sur ce que je devrais faire?
Voici mon code. Merci beaucoup d'avance pour votre aide.
@author Jordan Navas
@version 1.0
COP2253 Workshop7
File Name: Craps.java
*/
import java.util.Random;
public class Craps
{
public static void main(String[] args)
{
Random rand = new Random();
int gamesWon=0;
int gamesLost=0;
for(int i=1;i<=100;i++)
{
craps(rand);
if(craps(rand))
{
gamesWon++;
}
else{
gamesLost++;
}
}
System.out.println("Games You Have Won: " + gamesWon);
System.out.println("Games You Have Lost: " + gamesLost);
}
public static boolean craps(Random rand)
{
int firstDice = rand.nextInt(6)+1;
int secondDice = rand.nextInt(6+1);
int sumOfDies = firstDice + secondDice;
System.out.print("[" + firstDice + "," + secondDice + "]");
if (sumOfDies == 7 || sumOfDies == 11)
{
System.out.println(sumOfDies + " You Won! Congratulations! You Won! Congratulations! ");
return true;
} else if(sumOfDies == 2 || sumOfDies == 3 || sumOfDies == 12)
{
System.out.println(sumOfDies + " Congratulations! You Lost! ");
return false;
}
int point = sumOfDies;
System.out.print("Point: " + point + " ");
if (sumOfDies == point)
{
System.out.println(sumOfDies + " You Won! Congratulations! You Won! Congratulations!");
return true;
} else
{
System.out.println(sumOfDies + " Congratulations! You Lost! ");
return false;
}
}
}
'si (== sumOfDies points)' retournera toujours'on' – piyushj
ne pas le faux retour negate que, si? Est-ce que ce n'est pas assez bon? Devrais-je simplement supprimer cette partie du codage? –
ce code retournera 'true' pour autre chose que' 2,3 ou 12' – piyushj