Kezdőoldal » Számítástechnika » Programozás » Java nyelv DoWhile?

Java nyelv DoWhile?

Figyelt kérdés

az lenne a feladat, hogy bekérek egy számot konzolról, és ha 1 és 31között van akkor kiírja, hogy jó a szám, különben új számot kér be

Hogycsináljam?



2014. febr. 22. 15:04
1 2
 1/11 Tengor ***** válasza:

Nyiss egy jegyzettömböt és ments el "Feladat.java" néven. Aztán írd meg a programot.

Ha nem itt, akkor hol akadtál el?

2014. febr. 22. 15:06
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:

hát netBeansbe kell

és ott, hogy hogy kell megírni

mert ügye bekérek egy számot

Scanner elso = new Scanner(System.in);

int a = elso.nextInt();

csinálja azt, hogyha a kisebb 31 és nagyobb 1 akkor igaz különben nem

do {

if (a>1 & a<31) {

System.out.println("Jóa szám");

}

else {

System.out.println("nem jó a szám");

}


addig amíg a nem lesz kisebb 31 és nagyobb 1

while (a>1 & a<31);

de ha jó számot írok be akkor végtelen ciklus, ha nem jó számot akkor kiírja, hogynem jó és leáll

valaki segítene?

2014. febr. 22. 15:19
 3/11 A kérdező kommentje:
ja meg persze az elején java.util.Scanner;
2014. febr. 22. 15:21
 4/11 Tengor ***** válasza:

A szám bekérését is a do{}while-on belül csináld meg.

Most csak egyszer kéri be a számot és folyamatosan azt vizsgálja, ezért a végtelen ciklus.

2014. febr. 22. 15:22
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:

Ha csak annyi a feladat, hogy bekérsz 1 SZÁMOT, és eldönti, akkor nem is kell ciklus, hanem elég egy if (a>1 && a<31)

(Figyelj oda az AND művelet & helyett && -vel kell használnod!)

2014. febr. 22. 15:24
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:
de aza lényeg, hogy ha nem jóa szám bekér egymásikat, ezt iffel nem tudom megcsinálni
2014. febr. 22. 15:26
 7/11 A kérdező kommentje:

ha dowhile-n belül csinálomakkor meg a while nál nem találja az a-t

ígynéz ki most a teljes programom :

[link]

2014. febr. 22. 15:31
 8/11 anonim ***** válasza:

Az volt a gond, hogy te pont fordítva gondolkodtál, mint ahogy jó, ugyanis a ciklusodnak addig kell mennie, amíg NEM (-1,31) közötti számot olvasol be. Ha már egyszer olyat beolvasott, megnyugszik hogy jó a szám, és kilép a ciklusból.

A javított kód:


Scanner elso = new Scanner(System.in);

int a=-1;

do {

System.out.println("Kerek egy szamot: ");

a = elso.nextInt();

if (a>1 && a<31) {

System.out.println("Jó a szám");

}

else {

System.out.println("nem jó a szám");

}

} while (!(a>1 && a<31));

2014. febr. 22. 15:45
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:
addig ismétlődikamíg a while teljesül?:O
2014. febr. 22. 16:07
 10/11 anonim ***** válasza:

Igen.

Szó szerint fordítva:

"csináld { pittyputty; } amíg (világavilág);"


Ez ugye végtelen ciklus, mert mindig világ a világ :D Ha ezt letagadom, akkor pedig sosem fog lefutni a "pittyputty".


Egy kicsit szebb példa:

int a=5;

do {

a--;

}while (a!=0);

System.out.println("vége");


Ez addig csinálja csökkenti a-t, amíg nem lesz nulla. Vagyis ötször fog lefutni, mert a 4. lefutás után a==1, ekkor még bemegy ötödszörre is a ciklusba, csökkent, és a==0 lesz. Ekkor már nem megy be többször a ciklusba, és kiírja, hogy vége.

2014. febr. 22. 16:18
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!