Stampa numeri casuali fino al verificarsi di una condizone

di il
1 risposte

Stampa numeri casuali fino al verificarsi di una condizone

Buongiorno,
Vorrei chiedere delucidazioni per quanto riguarda un esercizio molto semplice che dovrei fare. Il testo dell'esercizio è il seguente: Scrivere un programma ContinuaFino che continua a stampare interi casuali compresi fra 1 e 15 fino a che non esce un numero che sia divisibile divisibile per 3.
Ho scritto questo programma ma durante l'esecuzione vengono stampati anche numeri divisibili per 3. Dove sta l'errore? Scusatemi ma sono alle prime armi.
public class CasualeDivTre {
	public static void main(String args[]) {
		
		int c;
			
			do {
				c = (int) (Math.random() * 15);
				System.out.println(c);
			}
			while(c%3==0);
	}
}

1 Risposte

  • Re: Stampa numeri casuali fino al verificarsi di una condizone

    Bruda ha scritto:


    Ho scritto questo programma ma durante l'esecuzione vengono stampati anche numeri divisibili per 3. Dove sta l'errore? Scusatemi ma sono alle prime armi.
    Se vuoi terminare la generazione appena c'è un numero divisibile per 3, allora la condizione del while è sbagliata (così come hai scritto, continua a ripetere se il numero è divisibile per 3 !).
    E poi comunque l'altra questione è che prima stampi il valore e poi dopo verifichi se è divisibile.

    Inoltre, la tua generazione estrae tra 0 e 14 inclusi, non tra 1 e 15. (quel 15 è esclusivo, perché random() non dà mai 1 esatto ma max 0,999999.....).
Devi accedere o registrarti per scrivere nel forum
1 risposte