Conserver les valeurs d'une boucle

Résolu
Vitaldix Messages postés 124 Statut Membre -  
Vitaldix Messages postés 124 Statut Membre -
Bonjour,

j'ai un petit soucis assez balot qui m'empêche d'avancer :
j'ai une boucle dans lequel tourne un math.random, j'aimerai conserver les valeurs de ces maths.random mais elles sont écrasées à chaque nouveau tour de boucle.

Je voudrais savoir comment conserver ces valeurs et également les additionner entre elles car la boucle tourne jusqu'à ce que la somme de ces math.random dépasse ou soit égale à 17.

Merci.

1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
Il faudrait voir ton code pour t'aider davantage, mais pour stocker les valeurs tu peux utiliser une liste et pour additionner les valeurs au fur et à mesure un accumulateur suffira.
0
Vitaldix Messages postés 124 Statut Membre 6
 
En gros j'ai
do {
		int carte = (int)(Math.random() * (14-1)) + 1;
} while (carte>16)


enfin le reste du code est pas intéressant mais c'est ça, je sais que c'est un accumulateur qu'il me faut mais je ne comprends pas leur fonctionnement dans une boucle do/while.

Merci de m'éclaircir
0
KX Messages postés 19031 Statut Modérateur 3 020
 
La question est de savoir pourquoi tu as fait une boucle do while ?
Ici, la boucle for est clairement plus adaptée...

PS. Pour des entiers utilises plutôt la classe Random, plutôt que la méthode random de Math

import java.util.ArrayList;
import java.util.Random;

public class Test
{
    public static void main(String[] args)
    {
        ArrayList<Integer> liste = new ArrayList<Integer>();
        Random random = new Random();
        
        for (int somme = 0, carte; somme < 17; somme += carte)
            liste.add(carte = random.nextInt(13) + 1);
        
        System.out.println(liste);
    }
}
0
Vitaldix Messages postés 124 Statut Membre 6
 
En fait j'avais pas vu ça à ta façon, pour moi le do while on l'utilise quand on ne sait pas combien de fois la boucle peut tourner

J'essaie ce que tu m'as donné et je te tiens au courant, merci.
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Les boucles for, while et do while sont équivalente, tout ce que l'on peut faire avec l'une on peut le faire avec les deux autres. Mais lorsqu'on parle d'un accumulateur que l'on doit initialiser, incrémenter, et dont la valeur est la condition de fin de boucle, tout de suite on doit penser à for.
0
Vitaldix Messages postés 124 Statut Membre 6
 
Merci de ton aide !
0