Java while
Salve,
perché questo programma così come ho realizzato non va bene?
Grazie.
perché questo programma così come ho realizzato non va bene?
/* * * Scrivere un programma che chiede all'utente di inserire due numeri interi n e * d e stampa tutti i numeri interi non negativi minori o uguali a n e * divisibili per d. Ad esempio, inserendo n=11 e d=2 il risultato deve essere: * 2, 4, 6, 8, 10. * * Suggerimento: usare l'operatore u % v che calcola il resto della divisione di u per v. */ package esercizi; import java.util.Scanner; /** * * @author Lionel */ public class NumeriInteriDivisibili { public static void main(String [] args){ int numeroUno; int numeroDue; int i; Scanner in = new Scanner(System.in); System.out.println("Inserisci primo numero: "); numeroUno = in.nextInt(); System.out.println("Inserisci secondo numero: "); numeroDue = in.nextInt(); i = 0; while(i<numeroUno && i%numeroDue==0){ System.out.println(i); i++; } } }
Grazie.
Risposte
Ho risolto facendo così. Ma perché con il while così come avevo fatto in precedenza non si poteva fare?
Grazie.
i=1; do{ if (i%numeroDue==0){ System.out.println(i); } i++; } while(i<numeroUno);
Grazie.
Ne ho fatta anche una versione con gli array
package esercizi; import java.util.Scanner; /** * * @author Lionel */ public class NumeriInteriDivisibili2 { public static void main(String [] args){ int [] numeriUtente; int numeroInteri = 3; int i; numeriUtente = new int[numeroInteri]; for(i=0;i<2;i++){ Scanner in = new Scanner(System.in); System.out.println("Inserisci numero intero: "); numeriUtente[i] = in.nextInt(); System.out.println("Il numero inserito è: " +numeriUtente[i]); } i=1; do{ if (i%numeriUtente[1]==0){ System.out.println(i); } i++; } while(i<numeriUtente[0]); } }
i = 0; while(i<numeroUno && i%numeroDue==0){ System.out.println(i); i++; }
i=1; do{ if (i%numeroDue==0){ System.out.println(i); } i++; } while(i<numeroUno);
bhe la differenza sta nella visibilità delle condizioni su $i$.
sono due non commutabili, cioè una è la condizione di fine ciclo (con implicazione iteraziona), l'altra valuta che sia multiplo (con implicazione stampa).