只是想在我的书中完成一项任务,但我不明白为什么这是错误的。应该说负数不是正数而且正数不是布尔值的负数。 这是我的代码:
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
答案 0 :(得分:0)
您将char与String进行比较,这就是错误的原因。二元运算符的操作数' =='必须是同一类型。
答案 1 :(得分:0)
Zahl是一个你想要与String比较的char。在java中是不允许的,虽然有其他语言确实允许。
if(Zahl == '-')
也许你在寻找什么,但我仍然怀疑它,因为Zahl在那个阶段没有初始化。我认为你真正想要的是
if (eingabe.equals("- && Zahl"))
作为脚注,我要指出,我们不会使用大写字符启动字段名称或变量名称。我们通常使用camelCase
答案 2 :(得分:0)
您不能将字符串- && Zahl
与变量Zahl
中的字符与运算符==
进行比较,因为在java中,char是基本类型,而String是对象
顺便说一下:你没有为Zahl
分配一个值,我不明白你的意图是通过将它与字符串进行比较。