JAVA-ban hogyan lehetne? A program csak egy bizonyos intervallumból fogadjon el értéket (szám), és a program addig nem lép tovább amíg nem megfelelő az érték.
```pseudo
do {
..kiir("Add meg az erteket:");
..ertek = beker()
} while (!ertekMegfelelo(ertek));
Vagy user-friendly-sebben:
kiir("Add meg az erteket: ");
ertek = beker();
while (!ertekMegfelelo(ertek)) {
..kiir("Nem jo, add meg ujra: ");
..ertek = beker();
}
```
A kiíró, bekérő, ellenőrző metódusokat rád bízom. Intervallum vizsgálathoz az ÉS operátor és a kacsacsőrök lesznek a barátaid, pl.:
```
(a <= ertek && ertek <= b)
```
int readInt(int min, int max) {
Console input = new Console(System.in);
Integer val = null;
do {
try {
val = Integer.parseInt(input.readLine());
if (val < min || val > max) {
val = null;
System.out.println(String.format("A számnak {0} és {1} között kell lennie!", min, max));
}
} catch (NumberFormatException nfe) {
System.out.println("Számot kell megadni!");
}
} while (val == null);
//hátultesztelős, mert 1x mindenképp úgyis beolvasunk
return val;
}
//az input/konzol lehet statikus is, nyilván
//az "Integer" típus egy Object, nem úgy mint az "int" (az primitív) tehát ez lehet null értékű
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!