Gå til innhold

Anbefalte innlegg

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.

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+1374861

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 :)

Lenke til kommentar

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

Lenke til kommentar

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).

Lenke til kommentar
Gjest Slettet+1374861

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*

Lenke til kommentar

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 av NevroMance
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...