Ich erhalte die Fehler Die Methode parseInt (String) in der Art Integer für die Argumente nicht anwendbar ist (boolean)Die Methode parseInt (String) in der Art Integer ist für die Argumente (boolean) nicht anwendbar
Hier ist der Code
} else if (Integer.parseInt(answerField.getText() == null)) {
JOptionPane.showMessageDialog(null, "You did not enter an answer!");
}
ich auch dies versucht haben, aber es funktioniert nicht:
(Integer.parseInt(answerField.getText().equals("")))
&
Ich möchte nur überprüfen, ob nichts eingegeben wurde und wenn ja, ein JOptionPane anzeigen.
Edit: Das var answerField ist ein JTextField, in dem der Benutzer eine mathematische Frage beantwortet. So ist die Action bestimmt dann, ob die Antwort richtig ist, daher der parseInt (weil es eine mathematische Operation ist)
do {
checkButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (Integer.parseInt(answerField.getText()) == correctAnswer) {
count++;
JOptionPane.showMessageDialog(null, "Correct");
} else if (Integer.parseInt(answerField.getText().length()) == 0) {
JOptionPane.showMessageDialog(null, "You did not enter an answer!");
} else {
count++;
JOptionPane.showMessageDialog(null, "Incorrect!");
System.exit(0);
}
}
});
} while (count < 11);
Sie übergeben einen booleschen Ausdruck an parseInt(), der einen String erwartet. Versuche nicht, alles in einer einzigen Zeile zu machen. Überprüfen Sie, ob die Zeichenfolge leer ist/null, und analysieren Sie sie dann (wenn sie analysiert werden muss). Aber wenn du das sagst, brauchst du nur 'if (answerField.getText(). IsEmpty()) ' –
* Warum willst du Integer.parseInt() ?? Um zu überprüfen, ob Text vorhanden ist, müssen Sie folgendes verwenden: 'if (answerField.getText() == null || answerField.getText(). Equals (" ")) – Tano
Beachten Sie, dass wenn answerField ein JTextField oder a ist JTextArea, die getText() -Methode gibt niemals null zurück. –