Avatar billede ramalla Nybegynder
01. april 2007 - 14:28 Der er 6 kommentarer og
1 løsning

Hvordan laver jeg et horoskop

Hej allesammen

Jeg sidder og leger lidt med java, og beslutter mig at prøve at lave et horoskop.. Dog synes jeg helt at være gået i baglås, er der nogle der lige til hjælpe mig lidt..?

Altså man skal bare indtaste sin fødselsdags dato og nuværende dato og så skal der komme et horoskob frem der passer til det..

På forhånd tak for hjælpen..
Avatar billede ramalla Nybegynder
01. april 2007 - 16:21 #1
Det er det at opdele mellem de forskellige dato'er jeg har problemer med..
Avatar billede cayman Nybegynder
02. april 2007 - 13:50 #2
Hvad har du lavet indtil videre?
Avatar billede ramalla Nybegynder
02. april 2007 - 15:35 #3
meget meget lidt :/

men det er det med at man skal sige:

indtast dato: DD-MM

og så få den til at finde ud af hvilket stjernetegn man er, der er problemet...
Avatar billede cayman Nybegynder
02. april 2007 - 15:50 #4
Du bliver nødt til selv at lave den - men jeg vil gerne rådgive dig.
Du må først finde ud af hvordan din domæne model ser ud; altså hvilke objekttyper du har brug for.

Jeg tror du har brug for følgende:
StjerneTegn, Horoskop

StjerneTegn skal indeholde en "fraDato" og en "tilDato" (java.util.Date eller java.util.Calendar)

Så skal du lave en HoroSkopFactory. Den skal have en metode der tager et StjerneTegn som parameter og som returnerer et Horoskop.

På denne factory kan du evt lave en metode der hedder "findStjernetegn" og som tager en java.util.Date som parameter. Hvis du kigger lidt på java.util.Calendar, så kan vist også noget med tidsintervaller (er ikke helt sikker dog)

Er det en webapplikation?
Avatar billede ramalla Nybegynder
02. april 2007 - 21:28 #5
nå, men altså nu har jeg lavet så meget her

int date=0;
          int month=0;
          System.out.print("Indtast fødselsdato: ");
          date = Keyboard.readInt();
         
          while((date > 31) || (date < 0))
          {
            System.out.println(" ");
            System.out.println("**Ugyldig dato! Prøv igen.**");
            System.out.print("Indtast fødselsdato: ");
            date = Keyboard.readInt();
          }
         
          System.out.print("Indtast fødselsmåned: ");
          month = Keyboard.readInt();
         
          while((month > 12) || (month < 0))
          {
            System.out.println(" ");
            System.out.println("**Ugyldig måned! Prøv igen.**");
            System.out.print("Indtast fødselsmåned: ");
            month = Keyboard.readInt();
          }

          System.out.print("Du er født " + date + "/" + month + " og");
         
          if((date >= 22 && month >= 12) || (date <= 20 && month <= 1))
          {
            System.out.println(" du er Stenbuk.");
            }
          else if((date >= 21 && month >= 1) || (date <= 19 && month <= 2))
          {
            System.out.println(" du er Vandmand.");
          }

Og sådan forsætter den med alle stjernetegn...
men har dog et lille/stort problem.. Hver gang en dato er over 21 bliver personen vandmand? nogen der kan hjælpe?
Avatar billede cayman Nybegynder
04. april 2007 - 11:59 #6
if((date >= 22 && month == 12) || (date <= 20 && month == 1))
{
        System.out.println(" du er Stenbuk.");
}
else if((date >= 21 && month == 1) || (date <= 19 && month == 2))
{
        System.out.println(" du er Vandmand.");
}
else
{
        System.out.println(" du er hverken Vandmand eller Stenbuk.");
}
Avatar billede cayman Nybegynder
04. april 2007 - 12:01 #7
Check iøvrigt lige dine valideringer på input:

En dato må vel være fra 1-31:
(while((date > 31) || (date < 1)))

En måned må vel være fra 1-12:
while((month > 12) || (month < 1))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester