关于JAVA中的比较运算符

classlesson12{publicstaticvoidmain(String[]args){intx;try{x=System.in.read();}catch(E... class lesson12
{
public static void main(String [] args)
{
int x;
try
{
x = System.in.read();
}
catch(Exception e){}
while(x != "s")
{
System.out.println("输入错误");
x = System.in.read();
.......
上面那段代码编写的时候提示我:
lesson12.java:11: 不可比较的类型:int 和 java.lang.String
while(x != "s")
^
是不是说是运算符出错了?以前也遇到过这问题
经常在编写的时候遇到计算机不认识运算符的时候。如:
lesson12.java:14: 意外的类型
需要: 变量
找到: 值
if(x%2=0)continue;
^
这个是不是说计算机不认识这个符号?
实际上整段代码是想接收一个键盘字符,只要这个字符不是“s” 就输出该字符
展开
 我来答
百度网友e7926b5
2009-08-25 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:31.9万
展开全部
x != "s",这是个严重错误。x是整型,是“s”是字符串,不能比较。
整型之间的比较时可以用 != ;字符串之间的比较用equals; 就算你用!=;那也要用char类型——‘s’。
if(x%2=0),这里x%2的值是整型,后面0也是整型,他们比较要用 == 。
liupeipeng08
2009-08-24 · 超过15用户采纳过TA的回答
知道答主
回答量:161
采纳率:0%
帮助的人:56.5万
展开全部
首先,你应该String x,这样才能跟‘s'比较,还有x != "s"写成 !'s'.equals(x)比较好。

参考资料: 如果您的回答是从其他地方引用,请表明出处

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大闸蟹来了
2009-08-22 · 超过23用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:0
展开全部
只用相同的数据类型才具有可比性。
整形和字符串类型不能比较。

if(x%2=0)要写成
if(x%2==0)
一个等号是赋值运算,两个等号才是比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友388688327
2009-08-22 · TA获得超过1053个赞
知道小有建树答主
回答量:1297
采纳率:0%
帮助的人:959万
展开全部
你这个比较真是不伦不类。
类型啊同志,一个int一个String,比什么啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyinghui2009
2009-08-22 · 超过11用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:49.3万
展开全部
你 X != “s"是什么意思??一个int类型跟字符串当然无法比较,况且我也没看见字符串的定义,好好检查下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
forKnowledge
2009-08-22 · TA获得超过334个赞
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:152万
展开全部
x是int变量,怎么和String 的“s" 比较呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式