Avatar billede blackscorpion Nybegynder
23. september 2002 - 15:47 Der 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");
}

eller kan den godt tage:

if(Username == "something" && Password == "somethingelse") { } ???

For jeg kan ikke få den til at virke. :(

- TheSpeaker.
Avatar billede soreno Praktikant
23. september 2002 - 15:50 #1
den kan tage 1 til mange statements,
dog skal du lige overveje hvad du vil sammenligne på.

hvis du vil sammenligne tekst skal det gøres sådan:
Username.equals("something")
Avatar billede blackscorpion Nybegynder
23. september 2002 - 15:52 #2
hhuuuu... du snakker du sort. *GGG* Jeg er lige startet.

jeg programmere normalt i, PHP, PERL, MySQL og HTML.

Derfor regner jeg med at det er noget ala det samme.

men hvis et givent username og password skal passe til det brugeren skriver og så tildele Status efter det??

altså hvis jeg skriver TheSpeaker som username og something som password, så skal status være admin, ellers bare guest.

Hvordan ville det se ud i kode?

- TheSpeaker.
Avatar billede soreno Praktikant
23. september 2002 - 15:52 #3
måske lidt uddybende info kunne være godt :-)

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
Avatar billede blackscorpion Nybegynder
23. september 2002 - 15:54 #4
ahhhh på den led... dv.s at equals skal bruges HVER gang man sammenligner noget... ahhh nice. ;)

prøver lige. ;)

Men tro mig, jeg vender tilbage med mange flere spørgsmål. *G* ;)
Avatar billede soreno Praktikant
23. september 2002 - 15:55 #5
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");
}
Avatar billede blackscorpion Nybegynder
23. september 2002 - 15:55 #6
Det virker! ;)

Tak. ;)
Avatar billede blackscorpion Nybegynder
23. september 2002 - 15:56 #7
Okey jeg har lige et andet spørgsmål. ;)
Avatar billede soreno Praktikant
23. september 2002 - 15:56 #8
nej, du skal bruge equals når du sammenligner strenge (og måske senere i din javakarriere også på andre objekter ;-)

du kan bruge == på simple datatyper som eks. int og char.
Avatar billede blackscorpion Nybegynder
23. september 2002 - 15:57 #9
Hvis nu at jeg laver en fil som hedder users.dat

og smider følgende i det:

TheSpeaker:pass:Admin
Soreno:pass:CoAdmin
Peer:pass:Guest

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??

- TheSpeaker.
Avatar billede blackscorpion Nybegynder
23. september 2002 - 15:58 #10
Okey. ;) Det vil jeg skrive mig bag øret... det er fordi at at Perl og PHP, der bruger man bare $Username == $typed_username osv. ;)

- TheSpeaker.
Avatar billede soreno Praktikant
23. september 2002 - 16:01 #11
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 :-)
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:05 #12
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. ;)
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:06 #13
Men grund princippet er vel bare.

1. åbne filen
2. læse data
3. sammenligne.
4. handling.

right?
Avatar billede soreno Praktikant
23. september 2002 - 16:07 #14
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 :-(
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:09 #15
hmmm....

men nu snakker jeg også om TOTALT amatør agtigt.

bare at skrive det ud på skærmen. ;)

Så kan man altid lege med noget mere avanceret senere. ;)

Er du uddannet i et eller andet hvor du programmere java, eller er det fritid/hobby basis?
Avatar billede soreno Praktikant
23. september 2002 - 16:09 #16
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 ":" ... :-)
Avatar billede soreno Praktikant
23. september 2002 - 16:10 #17
jeg er selv under uddannelse til datamatiker, og er i øjeblikket ved at skrive hovedopgave.
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:11 #18
Okey. ;) Så er du på 4 semester?? Hvor henne??
Avatar billede soreno Praktikant
23. september 2002 - 16:12 #19
5. semester er det nu :-)
i odense
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:13 #20
Jamen hvis brugernavnet indeholder :, så blir det ikke accepteret. *GGG*

Altså kun "plaintext" brugernavn. ingen .,:;-_'*¨^~´|`=)(}][{/&%¤#"!§@£$<>\+- osv. *GGGG* ;)
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:14 #21
Okey Sejt. ;)

Har du icq?? Kunne sQ godt bruge en fast forbindelse til en datamatiker som er nogle semestre forude. *GGG* ;)

For du har jo været det samme igennem, som jeg går igennem nu. ;)
Avatar billede soreno Praktikant
23. september 2002 - 16:14 #22
hvor er du selv startet ?
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:15 #23
Ballerup Handelsskole. ;) 1. semester. ;)
Avatar billede soreno Praktikant
23. september 2002 - 16:22 #24
jeg har skrevet mit icq nummer på mit minisite :-)
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:23 #25
Du Soreno... lige et spørgsmål ang. FileWriter, PrintWriter og FileReader.

kan man ikke smække dem alle sammen sammen, så man bare kan skifte, mellem om det skal være skrivning eller læsning??
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:24 #26
Du er tilføjet. ;)
Avatar billede soreno Praktikant
23. september 2002 - 16:37 #27
nej, du skal oprette 2 streams
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:45 #28
okey. *GGG* ;) det er også hvad bogen skriver. *GG* Men det er jo for begyndere, så det kunne godt være man kunne lave noget smart noget. ;)

Men syntes det er RIMELIG besværligt at håndtere data i java. *G*
Avatar billede blackscorpion Nybegynder
23. september 2002 - 16:55 #29
Du soreno...

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??
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