问题描述
publicclasstest002{publicstaticvoidmain(Stringargs[]){charplayer1="c";charplayer2="b";if(player1=="a"&&player2=="a"){System.out.println("ping");}elseif(player1=="a"&&player2=="b"){System.out.println("1win");}elseif(player1=="a"&&player2=="c"){System.out.println("2win");}elseif(player1=="b"&&player2=="a"){System.out.println("2win");}elseif(player1=="b"&&player2=="b"){System.out.println("ping");}elseif(player1=="b"&&player2=="c"){System.out.println("1win");}elseif(player1=="c"&&player2=="a"){System.out.println("1win");}elseif(player1=="c"&&player2=="b"){System.out.println("2win");}elseif(player1=="c"&&player2=="c"){System.out.println("ping");}}}我跟着视频录入了这段代码,可是编译的时候窗口提示:是不是我的==输的不对啊,还是版本升级的,规则变了,求解释啊
解决方案
解决方案二:
说的很清楚了啊!char不能转换成String!char与String是不可比较类型!charplayer1=‘c’;char类型是单引号,双引号是String类型!
解决方案三:
是啊,而且字符串比较怎么能用==,java里面是equals啊,C#倒可以用==,因为重写了
解决方案四:
引用2楼alalals的回复:
是啊,而且字符串比较怎么能用==,java里面是equals啊,C#倒可以用==,因为重写了
,谢谢了,不过==用法,老师是这么讲的无误。