Kezdőoldal » Számítástechnika » Programozás » Java-ban ezt hogyan lehetne...

Java-ban ezt hogyan lehetne megvalósítani?

Figyelt kérdés
Adott egy osztály, aminek van egy adattagja (hívjuk X-nek). Szóval X értéke csak 5,9 vagy 12 lehet. Ezt meg lehet valósítani?
2013. máj. 4. 23:03
 1/6 anonim ***** válasza:
75%

Priváttá teszed és csak getterrel/setterrel éred el és ebben állítod be az értékét.

Vagyis ha X a neve, akkor van egy getX() és setX() függvényed, ahol a setX() ellenőrzi, hogy a megfelelő tartományba esik-e és ha igen, csak akkor adja neki az értéket.


Pl.:

bool setX(double x){

if(x == 5.9 || x == 12.0){

this.x = x;

return true;

}else{

return false;

}

}

2013. máj. 4. 23:19
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
boolean akart azt lenni bool helyett amúgy, kicsit fáradt vagyok már...
2013. máj. 4. 23:20
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

Gyorsan, vagy szakszerűen szeretnéd?


A gyors megoldást már megmondták, a szakszerű meg nem fér ki ide. Basically, csinálsz egy XValidator segédosztályt, amely konfigurációból olvassa (nyilván nem saját maga) Set -be az engedélyezett értékeket. A megadott n érték valid, amennyiben legalValues.contains(n) visszatérési értéke true. Ellenkező esetben repülhet az Exception. Ez így elég elnagyolt, de mint említettem volt, a teljes (helyes) megoldás ide nem fér ki (meg azért kontextusfüggő is).

2013. máj. 4. 23:24
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
Vagy ha véges számú értéket szabad tényleg csak elfogadni (nem intervallumot), akkot érdemes lenne szertinem enumokat használni. Valami jelentése csak van az 5.9-nek és 12-nek. Amúgy sem szerencsés lebegőpontos számokat ==-vel hasonlítani, vagy contains-szel keresni.
2013. máj. 5. 08:42
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

Valószínűleg a kérdezőnek ennyi bőven elég lesz.

Illetve double-nél még annyira nem gond az ==, Double-nél lenne az.

2013. máj. 5. 10:51
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Nagyon szépen köszönöm! Setter az eszembe juthatott volna...
2013. máj. 5. 14:30

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!