Ultima modifica da un moderatore:
Salve, sono un principiante su questo mondo. E sono giunto allo studio del ciclo WHILE. Mi hanno assegnato degli esercizi di pratica. L'esercizio che in qualche modo sono riuscito a svolgerlo, ma che non ho capitto ed ho bisogno di una spiegazione della logica è questo:
"SCRIVI UN ALFORITMO IN JAVA CHE MEDIANTE UN CICLO WHILE CALCOLA LA SOMMA COMPRESA DI 2 NUMERI LETTI DA TASTIERA CHIAMATI A B.
Avrei bisogno di una spiegazione logica per comprendere questo algoritmo e una spiegazione dell'operatore "+=" che ho dimenticato. So che è come scrivere Var1=Va1+Var2 (Var1+=Var2). Ma non ho capito il suo reale funzionament generale e sopratutto il perchè si deve mettere in questo algoritmo.
Se al posto di controllo = controllo+A; metto un'altra operazione non funziona. Se tolgo l'incremento, while diventa un ciclo infinito. (Forse perchè il controllo è vero). Poi, se controllo vale 0, facendo controllo = controllo+A; vale il valore scelto dall'utente. Poi con A++, si incrementa. Se abbiamo inserito 5, diventa 6. Ma se stampiamo controllo fa il suo dovere. Senno, non lo fa. Non ho capito... se il valore inserito in A è minore del valore inserito in B, deve dare lo stesso ciclo infinito, alla fine solo di 1 lo abbiamo aumentato con il ++. Ho le idee parecchio confuse, grazie mille a tutti per le risposte.
"SCRIVI UN ALFORITMO IN JAVA CHE MEDIANTE UN CICLO WHILE CALCOLA LA SOMMA COMPRESA DI 2 NUMERI LETTI DA TASTIERA CHIAMATI A B.
Avrei bisogno di una spiegazione logica per comprendere questo algoritmo e una spiegazione dell'operatore "+=" che ho dimenticato. So che è come scrivere Var1=Va1+Var2 (Var1+=Var2). Ma non ho capito il suo reale funzionament generale e sopratutto il perchè si deve mettere in questo algoritmo.
Codice:
public static void main(String[] args) {
// TODO code application logic here
System.out.println("Inserisci il primo numero minore--->");
Scanner num1 = new Scanner(System.in);
double A = num1.nextDouble();
System.out.println("Inserisci il secondo numero maggiore--->");
Scanner num2 = new Scanner(System.in);
double B = num2.nextDouble();
double controllo=0;
while (A<=B)
{
controllo = controllo+A;
A++;
System.out.println(controllo);
}
}
}
Se al posto di controllo = controllo+A; metto un'altra operazione non funziona. Se tolgo l'incremento, while diventa un ciclo infinito. (Forse perchè il controllo è vero). Poi, se controllo vale 0, facendo controllo = controllo+A; vale il valore scelto dall'utente. Poi con A++, si incrementa. Se abbiamo inserito 5, diventa 6. Ma se stampiamo controllo fa il suo dovere. Senno, non lo fa. Non ho capito... se il valore inserito in A è minore del valore inserito in B, deve dare lo stesso ciclo infinito, alla fine solo di 1 lo abbiamo aumentato con il ++. Ho le idee parecchio confuse, grazie mille a tutti per le risposte.