我只是想在我的书中做一个任务,但我不明白为什么这是错误的。它应该说负数不是正数,而正数不是布尔值。
这是我的代码:

import javax.swing.JOptionPane;

public class Zahlentest {
    public static void main(String[] args) {

        String eingabe;
        char Zahl;
        boolean istVokal;
        eingabe = JOptionPane.showInputDialog("Geben Sie eine Zahl ein: ");
        if (Zahl == "- && Zahl") {
            istVokal = false;
        } else {
            istVokal = true;
        }
        if (istVokal == true) {
            JOptionPane.showMessageDialog(null, "Die Zahl ist nicht negativ!");
        } else {
            JOptionPane.showMessageDialog(null, "Die Zahl ist negativ!");
        }
    }
}


我不知道我在做什么错...请帮忙。
这是错误代码:

Zahlentest.java:10: error: bad operand types for binary operator '=='
            if (Zahl == "- && Zahl") {
             ^
      first type:  char
      second type: String
    1 error

最佳答案

Zahl是您要与字符串比较的字符。在Java中,这是不允许的,尽管确实允许使用其他语言。

if(Zahl == '-')


也许您正在寻找什么,但我仍然对此表示怀疑,因为Zahl在该阶段尚未初始化。我认为您真正想要的是

if (eingabe.equals("- && Zahl"))


请注意,我们不要以大写字母开头字段名或变量名。我们通常使用camelCase

10-08 19:41