Heips! Voisiko kukaan neuvoa miten ohjelmoidaan horoskooppi javalla? (Ohjelma tulostaa annetun syntymäajan perusteella oikean horoskoopin.) Tai mistä löytyy hyviä linkkejä?
javan ohjelmointityö
PULASSA
3367
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
Koodia ne rupea laittaa, harjotus tekee mestarin. Teet vaikka kaksiulotteisen taulukon jonne laitat ne päivämäärät joiden välissä tietty horoskooppi on ja myös horoskooppimerkin nimie.
Sitten vaan kun syötät jonkun syntymäajan tutkit taulukkoa. Kun löytyy, tulostus.
Toisaaalta voi myös tehdä "purkkakoodia" eli pelkästään if-else rakenteella. Taulukko paljon parempi.
En tiedä auttoiko ja tiesitkö systeemin idean mutta turha tänne on koodia heittää, se ei palvele sua. Tekemällä oppii!
java.util.Calendar manuaali
http://java.sun.com/j2se/1.4.1/docs/api/java/util/Calendar.html
Tuolla tuon itse tekisin. Luokan käyttö ei ole siitä helpoimmasta päästä, joten jos tuntuu liian vaikeelta tee puhtaasti kovakoodatulla if rakenteella. (vertaa kuukautta ja päivää palauttaaksesi oikean horoskoopin.)
Heps,
Ehkä idean purkamisessa aloittelevan on paras lähteä liikkeelle metodeista:
public String getHorro(Date bitrhday,Date timeNow)
public String getHorro(String merkki)
Eka metodeista tutkii syntymäajan ja etsii sitä vastaavan ennusteen. Horroskoopit voidaan varastoida esim. Hashtableen (syntymäaika, ennustus).
Valitse merkin eka tai vika päivämäärä ennusteen identifioivaksi päiväksi (parempi vaihtoehto näistä selviää iteroinnilla).
timeNow siltä varalta, jossei halua luottaa koneen palauttamaan "nykypäivään" (new Date() ), ja myöhemmin hommaa laajennetaan horroskooppihistoriallla.
(laajennoksiin hyvä varautua, vaikkei olisikaan vaatimusmäärittelyssä)
pseudoa:
jos timeNow = null --> timeNow = new Date();
birthdaystä syntymävuosi ignorataan.
Eka & toka metodi Palauttaa "ennustustekstin". (voisi toki olla myös Stringbuffer tai OutputStream/Wrighter.
metodi: String getHorro(String) -etsii horroskooppimerkkiä vastaavan birthdayn (esim sen ekan tai sen vikan aikaväliltä, johon merkki kuuluu, vuodesta ei väliä, koska ne ignorataan) ja kutsuu sitten ekaa metodia vastaavalla syntymäajalla-->palauttaa siltä saamansa arvon.
PS: Kannattaa aina kirjata tämäntyyppinen pohdinta johonkin ennenkuin alkaa koodata tehtävää, myöhemmin taito kehittyy sitten hienommiksi mallintamistekniikoiksi.