Just nu i M3-nätverket
Gå till innehåll
/Beggar Su

Ny på Java

Rekommendera Poster

Hejsan, är egentligen C# kille men har nu gett mig in på att skriva en app i JAVA. har dock stött på patrul.

 

Följande funktion fungerar inte riktigt som den ska, if satsen visar aldrig lika utan den går in i else hela tiden vilket är irriterande eftersom i resultat listan kan jag se alla tecken uppradade bredvid varandra snyggt å fint och de är lika :) vad har jag gjort fel?

 

protected JFrame CheckResult(final JLabel CorrectAnswers[], final JTextField Answers[]){

int NumberOfCorrectAnswers = 0;

JFrame ResultFrame = new JFrame();

JLabel ResultLabel = new JLabel();

for(int i=0; i<Answers.length; i++){

if(CorrectAnswers.getText().equalsIgnoreCase(Answers.getText())){

//CORRECT ANSWER

NumberOfCorrectAnswers++;

}

else{

//WRONG ANSWER

ResultLabel.setText(ResultLabel.getText() + CorrectAnswers.getText() + " " + Answers.getText() + "\n");

}

}

 

ResultLabel.setText(ResultLabel.getText() + NumberOfCorrectAnswers);

 

ResultFrame.getContentPane().add(ResultLabel);

return ResultFrame;

}

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

compareToIgnoreCase returnerar (som alla klasser som implementerar Comparable) en int som är negativ, noll eller positiv beroende på om den medskickade strängen är större än, lika med eller mindre än strängen vars metod anropas.

 

Så kolla bara om returvärdet är lika med noll.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...