Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 Kanal D va difuza serialul “...

Upgrade xiaomi mi11

securitate - acum se dau drept - ...

Farmacia Dr Max - Pareri / Sugest...
 

Ajutor cu for loops

- - - - -
  • Please log in to reply
14 replies to this topic

#1
AlexRFX

AlexRFX

    New Member

  • Grup: Junior Members
  • Posts: 6
  • Înscris: 09.12.2017
Salut! De ceva timp incerc sa invat java, dar loop-urile imi dau de furca.. asa ca va intreb pe voi.. Am gasit acest cod, care arata in consola "1-22-333-", si as vrea sa inteleg care este logica din spatele acestui cod... Daca ar putea cineva sa ma ajute.. multumesc!..

public class Training {

public static void main(String[] args) {
for (int i=1; i<=3; i++) {
for (int j=1; j<=i; j++) {
System.out.print(i);
}
System.out.print("-");
}

}

}


Edited by AlexRFX, 09 January 2018 - 10:50.


#2
romio79

romio79

    Active Member

  • Grup: Members
  • Posts: 1,655
  • Înscris: 30.03.2005
pai ce e asa greu ?
se ia i de la 1 la 3
si pe interior se ia j de la 1 la i, se printeaza i si la sfarsitul ciclului se printeaza -

adica cam asa merge
i = 1 , j merge de la 1 la 1 se printeaza i (adica 1) o singura data  si un minus
i = 2 , j merge de la 1 la 2 se printeza i (adica 2) de 2 ori (j ia valori de la 1 la 2) si un minus
i = 3 , j merge de la 1 la 3 se printeza i (adica 3) de 3 ori (j ia valori de la 1 la 3) si un minus

Edited by romio79, 09 January 2018 - 10:41.


#3
cspot

cspot

    Guru Member

  • Grup: Senior Members
  • Posts: 12,855
  • Înscris: 22.07.2004
Daca te uiti la al doilea FOR o sa vezi ca se executa de cate ori j este mai mic decat i.
    Prima daca i este 1 si se executa odata.
    Apoi i este 2 si se executa de 2 ori.
    Si in final i=3 si se executa de 3 ori.

#4
karax

karax

    Guru Member

  • Grup: Senior Members
  • Posts: 21,839
  • Înscris: 14.10.2017
Atata timp cat se respecta conditia <= se aplica incrementul ++. Dupa acel increment se opreste. Exact ce a spus cspot , fii atent ca la al doilea for ai j<=i

Vezi ca ai si un strings[] args care e responsabil pentru forma in care iti arata daca nu ma insel.

Edited by karax, 09 January 2018 - 10:44.


#5
AlexRFX

AlexRFX

    New Member

  • Grup: Junior Members
  • Posts: 6
  • Înscris: 09.12.2017
Mersi mult!

#6
karax

karax

    Guru Member

  • Grup: Senior Members
  • Posts: 21,839
  • Înscris: 14.10.2017
Uite aici de ce ti le afiseaza insiruite asa
https://stackoverflo...ain-method-java

Atentie ca in programul tau ce sunt afisate acele sunt caractere, nu numere. Diferenta intre strings si int
https://study.com/ac...ng-in-java.html

#7
romio79

romio79

    Active Member

  • Grup: Members
  • Posts: 1,655
  • Înscris: 30.03.2005
vezi ca dupa ce ca omu nu intelege un for simplu il mai bagi si tu in ceata cu prostiile care le zici

#8
karax

karax

    Guru Member

  • Grup: Senior Members
  • Posts: 21,839
  • Înscris: 14.10.2017
Ia explica tu ce este un string si int si ce inseamna args ala? sa dam niste linkuri? De fapt le-am dat mai sus. Te-ai obosit sa vezi ce inseamna string args?

Daca te uiti mai bine sus este "1-22-333" cu "" care e semnul caracterelor.

Cat despre for-uri in sine j il "prinde" din urma pe i adaugand 1 la valoarea lui la fiecare iteratie

#9
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,440
  • Înscris: 10.08.2005

View Postkarax, on 09 ianuarie 2018 - 10:46, said:

Atata timp cat se respecta conditia <= se aplica incrementul ++. Dupa acel increment se opreste. Exact ce a spus cspot , fii atent ca la al doilea for ai j<=i

Vezi ca ai si un strings[] args care e responsabil pentru forma in care iti arata daca nu ma insel.
incrementul se aplica inainte sau dupa verificarea conditiei?

#10
karax

karax

    Guru Member

  • Grup: Senior Members
  • Posts: 21,839
  • Înscris: 14.10.2017
Dupa ....altfel n-are sens ....
In cazul inainte ar fi fost ++i

In cazul ++i rezultatul ar fi fost altul , s-ar fi adaugat intai 1 si ar fi inceput cu 2 afisarea.

Am si eu o intrebare, programul cere decat afisarea lui i nu si  lui j, de ce afiseaza 22 si 333 si nu 1-2-3? Cumva se cere si afisarea fiecarui numar de atatea ori cat e incrementul?

Le: m-am prins ...celelalte 2 si  3-uri se afiseaza de cate ori j e mai mic ca i, primul 2 si 3 fiind i++

Edited by karax, 09 January 2018 - 12:24.


#11
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,440
  • Înscris: 10.08.2005
Programul nu cere nimic, omul are o bucata de cod si a cerut explicatii.

Tu aberezi fara sa citesti.

Iar unde este plasat '++' n-are legatura cu intrebarea mea,
poti sa ai ++i / i++ incrementul tot se aplica, eu te-am intrebat cand se aplica fata de verificarea conditiei.

Edited by MarianG, 09 January 2018 - 12:29.


#12
karax

karax

    Guru Member

  • Grup: Senior Members
  • Posts: 21,839
  • Înscris: 14.10.2017
Stiu ca tot se aplica, numai ca rezultatul ar fi altul.

Mai exact conditia se aplica prima data inainte de increment, dupa prima iteratie conditia depinde de incrementul aplicat.

#13
pexCom

pexCom

    Senior Member

  • Grup: Senior Members
  • Posts: 2,243
  • Înscris: 15.01.2014
Ba ar fi fost exact acelasi rezultat si cu ++i/++j, ia cartea si mai invata inainte sa dai sfaturi.

#14
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007
Debuggerul poata arata pas cu pas ce se intampla pe masura ce se executa fiecare rand, si ce valori au toate variabilele in acel moment.

#15
navistar_eagle

navistar_eagle

    Member

  • Grup: Members
  • Posts: 958
  • Înscris: 16.11.2017

View PostAlexRFX, on 09 ianuarie 2018 - 10:25, said:

Salut! De ceva timp incerc sa invat java, dar loop-urile imi dau de furca..
problema la tine nu este Java ci algoritmica.Invata intai sa creezi algoritmi fara calculator si apoi daca te simti in stare sa inveti Java , atlfel nu vei realiza absolut nimic.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate