为了账号安全,请及时绑定邮箱和手机立即绑定

想请问我这个是不是不合理

package com.imooc2;
import java.util.Scanner;
public class intail {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  System.out.println("请输入乘坐类型:");
  Scanner input=new Scanner(System.in);
  String type=input.next();
  automobile a2=new automobile();
  cruise c2=new cruise();
  plane p2 =new plane();
  if (type=="汽车")
   a2.autoWay();
  else if(type=="飞机")
   p2.plaWay();
  else if(type=="邮轮")
   c2.cruWay();
 }

}

我想问一下这段代码有什么不合理的地方吗?运行之后我输入汽车可是没有后续了   以我这个逻辑     我输入汽车啥的    if语句里的代码块能执行吗?那些方法我都是定义在下面几个类里,至于把汽车啥的改成英语我都试过了   还是if语句里的代码执行不了  想请教一下各位

package com.imooc2;

public class automobile extends vehicle {
 public void autoWay() {
  automobile a=new automobile();
  a.way(100,"陆地");
 }

}

//

package com.imooc2;

public class cruise extends vehicle {
 public void cruWay() {
  cruise c=new cruise();
  c.way(200,"海");
 }

}

//

package com.imooc2;

public class plane extends vehicle {
 public void plaWay() {
  plane p=new plane();
  p.way(100,"天空")

}

}


正在回答

2 回答

==只能是比较基本数据的值,这里是引用类型,比较的是地址。应该使用equals()方法,前面子类再重写一下方法即可

0 回复 有任何疑惑可以回复我~
#1

慕莱坞8595128

String类不需要重写
2019-12-01 回复 有任何疑惑可以回复我~

if里面的改为type.equals("汽车")就可以进行比较了,这个是比较字符串的值

0 回复 有任何疑惑可以回复我~
#1

晓天色 提问者

好的 我知道了 谢谢
2019-11-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

想请问我这个是不是不合理

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信