Dove ho sbagliato che non riesco a capire????
codice:import java.util.*; import java.math.*; public class CicloEs19 { public static void main(String[] args) { /*Si hanno a disposizione tre premi identici da assegnare in un gruppo di dieci finalisti, ai quali * sono stati associati i numeri da 1 a 10. Scrivere un programma che scelga in modo casuale i numerici * dei tre finalisti che riceveranno un premio. si faccia attenzione a non sorteggiare lo stesso numero * più volte. per esempio, l'estrazione dei finalisti 3, 6, 2 sarebbe valida, ma quella di 3, 3, 11 no * perchè il finalista numero 3 compare due volte e inoltre 11 non è un numero valido per un finalista. * si può semplicemente utilizzare la seguente riga di codice per generare un numero casuale tra 1 a 10 * * int num = (int) (Math.random() * 10) + 1; * */ /*È un po' "contorto". Si può fare in modo più semplice e lineare. Il primo (a) è banale, * l'estrazione è diretta. Il secondo (b), fai un ciclo while finché il valore estratto è uguale ad a. * Il terzo idem semplicemente che continui a ciclare se il valore estratto è uguale ad a O b.*/ double num = 1 , a = 0, b = 0, c = 0; System.out.println("Si hanno a disposizione tre premi identici in un gruppo di 10 finalisti: "); System.out.println("Ogni finalista devono avere tre premi differenti."); /* for(int i = 0; i <= 10; i++){ num = (int) (Math.random() * 10) + 1; a = num; for(int y = 0; y < 10; y++){ num = (int) (Math.random() * 10) + 1; b = num; } for(int z = 0; z < 10; z++){ num = (int) (Math.random() * 10) + 1; c = num; } } */ a = (int) (Math.random() * 10) + 1; do{ b = (int) (Math.random() * 10) + 1; c = (int) (Math.random() * 10) + 1; }while((!(a != b)) || (!(c != b))); // a deve essere maggiore di b System.out.println("A:" + a + " B:" + b + " C:" + c); } }



