Esempio ciclo for

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Innanzitutto salve a tutti del forum.:)
Sono con qualche settimana di java sulle quindi abbiate pazienza se vi tedierò con domande piu k banali...
Più cerco di entrar nello specifico studiando riga x riga la sintassi del codice e piu mi sembra di capirci ancora meno di quando ho cominciato...mah..
Comunque veniamo alla mia domanda: riguarda il ciclo for su un esempio k ho trovato su questo sito

class ProvaFor2 {
public static void main(String args[]) {
for (int i=0, j=2; i<10; i++, j++) {
System.out.println("i=" + i + " e j=" + j);
}
}
}

La domanda è molto banale ma se ho assegno 2 variabili xkè ho un solo valore come limite massimo?
 

Slyfer

Utente Attivo
4 Dic 2010
65
21
0
La domanda è molto banale ma se ho assegno 2 variabili xkè ho un solo valore come limite massimo?

Ciao, benvenuto sul forum.

La domanda che hai fatto non ha una risposta specifica, ma dipende dal contesto.

Ci possono essere casi in cui hai due varibili da incrementare ma l'uscita del for dipende da solo una delle due: es ho una lista di N e una di N + X, con X > 0 e voglio stampare i primi N elementi delle liste usando j e i ma ovviamente non posso avere j maggiore di N.

Ci sono casi invece in cui voglio stampare N elementi di due liste, ma non so se la seconda lista ha più elementi della prima, quindi mi serve una condizione di uscita più complessa:

for(i = 0, j = 0; i < N && j < M; j++,i++){
...................
}

dove N e M sono le dimensioni delle liste.

Cmq in generale è molto difficile nella pratica avere bisogno di due variabili da incrementare (almeno io non le ho mai usate), perchè puoi fare le stesse cose con una sola.

Spero di esserti stato di aiuto.
 

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Innanzitutto grazie x la risposta..
il problema però k essendo troppo fresco di java quando nell'esempio mi parli di liste purtroppo non le ho ancora affrontate,quindi provo a spiegarti alla mia maniera se ho capito:

es ho una lista di N e una di N + X, con X > 0 e voglio stampare i primi N elementi delle liste usando j e i ma ovviamente non posso avere j maggiore di N.
Quindi avrei potuto scrivere:
for (int i=0,J=0; i>n;i--,J--)

Riguardo invece all'esempio che ti avevo proposto:
Codice:
class ProvaFor2 {
public static void main(String args[]) {
for (int i=0, j=2; i<10; i++, j++) {
System.out.println("i=" + i + " e j=" + j);
}
}
}

La variabile "i" si confronta con il suo limite massimo (i<10) e se è vera "i" viene incrementato (e quindi stampato).
La variabile "j" invece con quale limite massimo si confronta dato che non è specificato?Presumo che il confronto avvenga con l'unico limite presente cioè "i<10", ma se così fosse non dovrebbe stampare solo 8 numeri visto che la variabile è inizializzata a due:
J=2
2<10
j++
j=3
3<10
j++
..
j=11
11<10???
j++??
 

Slyfer

Utente Attivo
4 Dic 2010
65
21
0
for (int i=0,J=0; i>n;i--,J--)

le istruzioni del for non vengono mai eseguite perchè se n > 0 e i parte da 0 non entri nel for.

Per

class ProvaFor2 {
public static void main(String args[]) {
for (int i=0, j=2; i<10; i++, j++) {
System.out.println("i=" + i + " e j=" + j);
}
}
}


mi sa che non ti è chiaro come funziona il for....

Ci sono tre set di istruzioni separate da ; e sono

inizializzazione; condizione di uscita; azioni eseguite al termine del ciclo

quindi per il caso in questione

inizializzazione
i = 0;
j = 2;

giro 1
check uscita 0 < 10 -> si
eseguo istrizioni del for (in questo caso stampa)
i = 1;
j = 3;

giro 2
check uscita 1 < 10 -> si
eseguo istrizioni del for (in questo caso stampa)
i = 2;
j = 4;
............

giro 10
check uscita 9 < 10 -> si
eseguo istrizioni del for (in questo caso stampa)
i = 10;
j = 12;

giro 11
check uscita 10 < 10 -> no
uscita

Prova ad eseguirlo, se non ho fatto errori dovrebbe essere così
 

syrmos

Nuovo Utente
7 Feb 2012
28
0
0
Quindi se non capito male nel ciclo for posso avere:
diversi parametri di inizializzazione;
una sola condizione di uscita a cui fanno riferimento i diversi parametri di inizializzazione;
diverse azioni eseguite al termine del ciclo quante sono i parametri iniziali.

Ho provato ad aggiungere un altro valore (nel mio caso "c") e funziona

Codice:
class conta {
public static void main(String args[]) {
for (int i=0, j=2, c=4; i<10; i++, j++,c++) {
System.out.println("i=" + i + "j=" + j +"c=" + c );
}
}
}

Chiaramente la condizione di uscita (sempre nel mio caso) è indifferente da chi viene inizializzata (se "i" "j" o "c").

Grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
B esempio ciclo innestato Programmazione 0
T [Java] tipi generici con esempio pratico Java 1
D Guida o esempio PHPWord PHP 2
otto9due Creare immagine dinamica timer (come esempio allegato) jQuery 4
B div riempito con testo collegato a esempio.txt o sincronizzazione tra div HTML e CSS 1
T esempio di combobox Visual Basic 0
L cerco esempio form dopo form PHP 5
K Esempio tabella php mysql ajax Ajax 0
M esempio di utilizzo jquery con mysql PHP 0
S Stringhe: confrontare immissione con stringa d'esempio e costruire stringhe da più campi PHP 10
M [JSP]Esempio Book Java 13
M Esempio di LOCK TABLE in MySQL MySQL 0
L Cerco esempio con classi php5 PHP 3
YellowMan HTML5 WebSocket: mi fate un esempio di come funziona? HTML e CSS 1
max_400 PHP e xml un esempio please? PHP 7
P Pagina intro come esempio Webdesign e Grafica 4
M Problema con l' esempio di "Approccio ai database" .NET Framework 7
DeAndreon Esempio con checkbox PHP 13
B cerco esempio per dettaglio 3D Flash 0
B Esempio menu Flash 0
A Un Bel Esempio Presenta il tuo Sito 3
D Cerco database di esempio... Database 1
G Esempio guestbook Classic ASP 2
B Completare il seguente ciclo affinché stampi tutto l’array al contrario PHP 3
W MySQL ciclo in SELECT MySQL 0
E Inviare variabile a PHP da ciclo in JS Javascript 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
W fare la somma di un valore estratto da un ciclo while Classic ASP 0
motleyrulez Aiuto con un ciclo PHP 0
B [PHP] formula e ciclo PHP 5
M [PHP] Come inserire codice html in un ciclo while PHP 2
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
G [PHP] totale per ogni id di un ciclo PHP 1
P Incrementare nodo in ciclo for-each XML 6
S [PHP] Ciclo foreach su più array PHP 2
M UPDATE non aggiorna db se lo inserisco in un ciclo Database 1
N [PHP] Controllare condizione ciclo While PHP 9
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
N [PHP] Registrare variabili all'interno di un ciclo PHP 3
MattiaBL [PHP] Problema ciclo while PHP 3
V Ciclo for per Pulsante in JavaScript Javascript 7
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
C [PHP] Ciclo for dinamico PHP 14
gandalf1959 [PHP] query all'interno di un ciclo while PHP 3
Z [PHP] ciclo for PHP 9
valvasori [PHP] Problema ciclo for PHP 12
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
H [PHP] Ciclo per calcolare i chilometri PHP 4
S [PHP] Recupero più dati da form realizzata ciclo FOR PHP 5
gandalf1959 [PHP] ciclo while non scrive dove dovrebbe... PHP 2

Discussioni simili