我正在使用do..while循环,而我正在使用
while (intOne != intTwo && colorOne != 0 && colorTwo != 0);
问题是我收到以下错误。 “不兼容的操作数类型String和int”
我知道这是因为我的colorOne和colorTwo是字符串,我试图说它们不等于int。
我认为这与演员和东西有关,但我是新手,需要帮助!
答案 0 :(得分:1)
您应该从String中解析int:
Integer.parseInt( colorOne )
所以你的代码看起来像这样:
while (intOne != intTwo && Integer.parseInt( colorOne )
!= 0 && Integer.parseInt( colorTwo ) != 0);
答案 1 :(得分:1)
您不需要转换。只需控制字符串匹配,如:
while (intOne != intTwo && !colorOne.equals("0") && !colorTwo.equals("0"));
这样,代码不会将可能的字符串抛给整数转换异常。需要注意的是==
和!=
运算符在一般情况下不能用于字符串比较,它们比较了Java中的引用相等性。
答案 2 :(得分:0)
使用以下命令将字符串转换为整数:
Integer.parseInt(colorOne)
您还需要检查colorOne实际上是否为整数,例如捕获异常时抛出的异常并在那里打印出错误消息。