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).