当前位置: 首页 > 知识库问答 >
问题:

为什么我的if和else if块没有在我的java代码中运行?[副本]

谢善
2023-03-14

为什么我的if和else if块没有在我的java代码中运行?在这里,我给出了软件工程作为输入,但web开发人员正在打印。但实际上软件工程只应该印刷。Here if和else if条件在setRole方法中不起作用。有人能帮忙解决这个问题吗?



 public class MyClass{
     String education;
     String role;
     Scanner sc=new Scanner(System.in);
 
     //Getters
     public String getEducation(){
         return education;
     }
     public String getRole(){
         return role;
     }
 
 
     //Setters
     public void setEducation(String newEducation){
         this.education=newEducation;
     }
     public void setRole(String newRole){
         this.role=newRole;
     }
     //Getting input from the user
     public void enterEducation(){
         System.out.println("Enter your education:");
         setEducation(sc.nextLine());
     }
     public void enterRole(){
         String[] arrayrole={"CEO","Web developer","Software engineer"};
         if(education=="software engineering"){
             setRole(arrayrole[2]);
         }
         else if(education=="MBA"){
             setRole(arrayrole[0]);
         }
         else{
             setRole(arrayrole[1]);
         }
     }
     public void play(){
        enterEducation();
         enterRole();
        
     }
     public void About(){
         System.out.print("Your education is "+education+
         ". so,Your job role is "+role);
     }
     public static void main(String[] args){
         MyClass p=new MyClass();
         p.play();
         p.About();
 
     }
 }

共有1个答案

谭仰岳
2023-03-14

您需要使用。equals方法来比较java中的字符串

 类似资料:
  • 它显示了以下错误:在Homepractice类中,Main方法必须返回void类型的值。gym,请将main方法定义为:public static void main(String[]args)

  • 您将自动执行著名的歌曲“墙上的99瓶XXX”。你将打印这首歌所有99个诗句的歌词。用循环!如果你不知道歌词,用谷歌查一下。 该方案应: a.如果他们不到21岁,或者他们喜欢苏打水,那么歌词是“墙上有99瓶苏打水” B.如果他们超过21岁,那么是“99瓶啤酒” 您必须使用WHILE循环,并且counter变量必须是print语句的一部分! 所以第一节是: 99瓶苏打水挂在墙上 墙上有98瓶苏打水 最

  • 今天我在家里的电脑上安装了netbean,以便在家做一些工作。我安装了java 8 JDK(151),并安装了包含所有内容的netbean(没有进行自定义安装)。然后我把我的项目从github上撤下来。 我的安装文件夹是在E:\netbean我的项目文件夹是默认的c: 我加载了项目,打开XAMPP并运行它。太好了,很管用。 然后我对HTML进行了更改(修复了我犯的一个拼写错误)。再次运行。找不到零

  • 这将打印出r1 r4 pre b1 b2 r3 r2 hawk 但我不明白为什么它打印r3 r2而不是r2 r3,这似乎是倒退的。如果初始化块是自上而下执行的,为什么它从底部语句r3开始,到R2结束呢?在超类Bird中,它的执行方式与我预期的b1和b2一样,从上到下,但在超类Raptor中,在构造函数运行之后,控件似乎首先跳转到最后一条语句,并将自己工作回顶部。有什么想法吗? 快把我逼疯了。

  • 问题内容: 我有以下代码: 以及其他各种方法,例如@ Before,@ After,@ Test或@AfterClass方法。 测试在启动时不会像看起来的那样失败。有谁可以帮助我吗? 我有JUnit 4.5 该方法无法立即调用注释为@before的setUp()。类def是: 问题答案: 不要扩展TestCase并同时使用注释! 如果需要使用批注创建测试套件,请使用RunWith批注,例如: (按

  • 我试图使java编译类文件,但它抛出了一个错误,如何修复它。