Jericho81 Skrevet 19. januar 2008 Skrevet 19. januar 2008 Jeg har lett og lett, men klarer ikke finne ut hva den motsatte funksjonen av "equals()" er. Altså, jeg vil finne til "equals()" det som "!=" er til "==". Finnes en slik funksjon overhodet? Jeg prøvde meg med denne, "while((gender.equals("male") == false))", men til ingen nytte. Setter stor pris på råd. Takk.
JohndoeMAKT Skrevet 19. januar 2008 Skrevet 19. januar 2008 Har du prøvd dette? while( !gender.equals( "male" ) ) { EXPLODE! }
Jericho81 Skrevet 19. januar 2008 Forfatter Skrevet 19. januar 2008 Har du prøvd dette? while( !gender.equals( "male" ) ) { EXPLODE! } Ah jeg prøvde meg med !equals, men det er slik det fungerer ja. Thank you!
Gjest Slettet+1374861 Skrevet 20. januar 2008 Skrevet 20. januar 2008 er i en del andre tilfeller også mer logisk (vertfall for meg) å bruke "!" fremfor "!=". eksempelvis: boolean bool = false; // Jeg foretrekker... if(!bool) // Jeg leser her: "hvis ikke bool" .... // Fremfor... if(bool == false) // Jeg leser her: "bool er lik usant" .... Naturligvis litt smak og behag, men du trenger vertfall ikke benytte "!=" overalt der det er mulig, så nå har du vertfall sett alternativet
Gaius1981 Skrevet 22. januar 2008 Skrevet 22. januar 2008 (endret) Jeg blir hinsides gal av å ikke finne feilen i denne lille koden. Er noen i stand til å fikse den, eller evt. sette opp en ny kode for simpel sjekk på om variabelen inneholder "male" eller female"? JOptionPane dukker opp i uendelighet slik det er nå, selv om jeg gir korrekt verdi. http://rafb.net/p/WQNoMG43.html Endret 22. januar 2008 av Gaius1981
JohndoeMAKT Skrevet 22. januar 2008 Skrevet 22. januar 2008 Jeg har ikke mulighet for å teste java her selv, men hva skjer om du skriver ting med litt mindre brackets? Og hva med å sjekke med et annet parameternavn i tilfelle det er scoping som ødelegger for deg. if ( newGender.equals( "male" ) || newGender.equals( "female") ) { this.gender = newGender; } Når det kommer til WHILE-løkka skal det være &&, ikke ||.
pgdx Skrevet 22. januar 2008 Skrevet 22. januar 2008 Først kan jeg si at hovedproblemet ditt er at du ikke kan logikk. I while-løkken må du enten ha while (!gender.equals("male") && !gender.equals("female")) { eller while (!(gender.equals("male") || gender.equals("female"))) { . Du skriver nederst i nopaste-en din: Og er det uansett ikke noen mer praktisk måte å sjekke om variabelen er "male" eller "female"?Jo, to alternativer er klare:boolsk variabel: boolean isFemale enum Gender Nå er jeg usikker på om du har hatt enum-er på skolen, og hvordan du programmerer, men det beste hadde nok vært med en JComboBox, dersom du programmerer GUI (evt. en radiobutton).
Gjest Slettet+1374861 Skrevet 23. januar 2008 Skrevet 23. januar 2008 er vel generellt bad manner å ta inn strenger som parameter i ett metodekall i en slik sammenheng, der de kan representeres med andre mer konkrete verdier. som nevnt kan enum være pent. muligens en char der du på en eller annen måte dokumenterer hva hver char representerer. konstanter. osvosv. problemet med string, og å ta det inn via ett tekstfelt er jo at det kan skrives på en million måter og hvis brukeren kan gjøre noe feil, så kommer den til å gjøre det. *nn*
NevroMance Skrevet 23. januar 2008 Skrevet 23. januar 2008 (endret) Er jo mulig å legge inn while(!(gender.equalsIgnoreCase("male") || gender.equalsIgnoreCase("female"))) for å slippe problemet med de millioner forskjellige muligheten å skrive male og female på. Men en enum eller en bolsk variabel er en del penere. Endret 23. januar 2008 av NevroMance
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå