23. september 2002 - 15:47Der er
28 kommentarer og 1 løsning
IF-Else Sprøgsmål.
Hej Ekspert brugere.
Jeg er lige startet på Datamatiker uddannelsen, og har så java programmering.
Nu sidder jeg med et problem, som jeg lige er stødt på, og derfor ikke har haft mulighed for at spørge min lærer om.
Når man laver en if-else lykke i Java, kan den så kun tage et statement??
altså
if(Username == "something") { System.out.println("Hej " + Username + " din status er Admin"); } else { System.out.println("Hej " + Username + " din status er Gæst"); }
hvis du bruger: if(Username == "something") så kigger java efter om Username har samme adresse i hukommelsen som "something", det er yderst sjældent at det giver mening at sammenligne sådan.
hvis du bruger if(Username.equals("something") så kigger java char for char om de 2 er ens, se evt i api'et under String
if(Username.equals("byggemand_bob") && Password.equals("lego")) { System.out.println("Hej " + Username + " din status er Admin"); } else { System.out.println("Hej " + Username + " din status er Gæst"); }
hvordan ville det se ud, hvis den skulle sammenligne brugernavn og password med det der står i filen, og hvis brugeren ikke står der, så give besked om at brugeren skal oprette sig... eller er det et størrere projekt??
det er et større projekt, set fra den synsvinkel at du er ny inden for java :-)
men du kan nedbryde problemet i mindre del problemer: læsning fra fil (brug: bufferedreader og filereader) parsing af linier fra fil (brug: stringtokenizer) hvis bruger er oprettet: login ellers opret bruger
så kan du selv nedbryde "login" og "opret bruger" til mere håndgribelige størrelser :-)
okey, jeg sidder lige med "Object-Oriented Problem Solving JAVA, JAVA, JAVA" af Ralph Morelli og "Objectorienteret programmering i Java" af Jacob Nordfalk og læser om Datastrømme ig Filhåndtering, som indholder følgende: 1. - At forstå datastrømme. 2. - At læse og skrive filer. 3. - At analysere tekstfiler og udtrække data 4. - Overblikket over og sammenhængen mellem alle datastrøm-klasserne.
Så jeg håber jeg kan finde hvad jeg har brug for, ellers vender jeg frygteligt tilbage. ;)
punkt 4 bliver nok meget abstrakt.. - jeg synes ihvertfald det er lidt uhåndgribeligt - jeg har programmeret java i ca. 2 år og har stadig ikke styr på de forskellige streams :-(
ja, tricket i dit tilfælde er jo at adskille "TheSpeaker:pass:Admin" fra hinanden. det kunne man gøre ved at bruge stringtokenizer med et ":" som parameter - men hvad så hvis brugernavnet indeholder ":" ... :-)
jeg har lige et spørgsmål som faktisk plager mig lidt... ang. StringTokenizer...
i eksemplet i bogen skriver de:
StringTokenizer bidder = new StringTokenizer("2*x*x +8*x -5", "+-", true);
der det første, er det data der skal behandles, så hvad det skal deles op imellem... og så er der true...
det skriver han INTET om... hvad gør den, og hvorfor er den der??
Synes godt om
Ny brugerNybegynder
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.