Il y a évidemment plusieurs façons de le faire, mais après avoir expérimenté, j'ai trouvé cette solution assez facile. Je vais coller le code pour lancer 2 dés et retourner les deux résultats, ensuite je vais vous expliquer.
Le code source:
import java.lang.Math;
import java.util.*;
public class DiceRolling {
private static String roll2Dice(double dice1, double dice2) {
String methodSatisfier = "";
dice1 = (Math.random()*6);
dice2 = (Math.random()*6);
if (dice1 < 1) {
dice1 = Math.ceil(dice1);
}
if (dice2 < 1) {
dice2 = Math.ceil(dice2);
}
System.out.printf("First die: %.0f\nSecond die: %.0f", dice1, dice2);
return methodSatisfier;
}
public static void main(String[] args) {
DiceRolling object = new DiceRolling();
System.out.println(object.roll2Dice(0, 0));
L'explication:
Après avoir découvert que déclarant un simple double méthode statique ne fonctionnerait pas, je trouve que vous pouvez utiliser une valeur de chaîne pour mettre fin à la méthode sans erreur de compilation, tout en vous donnant le résultat que vous voulez. De cette façon, vous pouvez passer deux valeurs doubles (vos valeurs de dé) dans la méthode Chaîne statique et lui permettre de renvoyer vos deux dés lancés (doubles) dans une chaîne, et non deux doubles séparés. Lorsque vous invoquez la méthode dans la dernière ligne de code, j'ai passé deux 0 comme arguments afin que les dés puissent être lancés uniformément, et parce que la méthode nécessite deux arguments doubles. Si vous avez des questions, je peux répondre à toute question concernant le code et l'explication ci-dessus.
Si ce double aller dans l'autre sens? La réponse ici semble mieux. –