Java 代码只输出相同的东西,不会使用.equals以不同的方式输出

Java 代码只输出相同的东西,不会使用.equals以不同的方式输出,java,Java,我正在为我所在的班级做一个项目,任务是在Netbeans中制作一个需要3个输入的程序 人高, 背部问题 心脏问题 老师说这两道题用布尔运算。他希望我们使用inputBack.equals(“N”)来查看我得到的输入是否等于N,无论如何,如果有人能帮我,我会把我的代码放在下面,那太好了 基本上,程序只在我更改高度时输出不同,但当b或h为Y时,我需要它显示其他内容 双H; 字符串b,h; b=back.getText(); h=heart.getText(); H=Double.parseDoubl

我正在为我所在的班级做一个项目,任务是在
Netbeans
中制作一个需要3个输入的程序

  • 人高,
  • 背部问题
  • 心脏问题
  • 老师说这两道题用布尔运算。他希望我们使用
    inputBack.equals(“N”)
    来查看我得到的输入是否等于
    N
    ,无论如何,如果有人能帮我,我会把我的代码放在下面,那太好了

    基本上,程序只在我更改高度时输出不同,但当
    b
    h
    Y
    时,我需要它显示其他内容

    双H;
    字符串b,h;
    b=back.getText();
    h=heart.getText();
    H=Double.parseDouble(height.getText());
    如果(h.equals(“Y”)| b.equals(“Y”)){
    setText(“对不起,坐过山车不安全”);
    }
    
    if((H>=122&&H您有太多冗余的if/else语句。您可以这样简化代码:

    //Heart or back problem, so no riding
    if (h.equals("Y") || b.equals("Y")) {
        output.setText("Sorry, its not safe for you to ride the coaster");
    }
    else {  //health ok, check height
    
      if (H >= 122 && H <= 188)
          output.setText("You are cleared to ride, have fun!");
      else
          output.setText("You are outside the height requirements, you can't ride")
    }
    
    //心脏或背部有问题,所以不能骑马
    如果(h.equals(“Y”)| b.equals(“Y”)){
    setText(“对不起,坐过山车不安全”);
    }
    否则{//健康状况正常,检查高度
    
    如果(H>=122&&H你实际上把它弄得太复杂了。你真正的问题在于:

    if ((H >= 122 && H <= 188) && (h.equals("N") || b.equals("N")))
    

    您的错误在这一行:

    if ((H >= 122 && H <= 188) && (h.equals("N") || b.equals("N"))) {
    

    您还可以简化代码,如果…

    您是否验证了“b”和“h”的值实际上是您期望的值?如果您使用的是netbeans之类的工具,诊断此类问题的第一步应该是使用调试器逐步检查代码并检查变量和逻辑。您的f第一个条件是:“b或h都是Y”。但你不能到此为止。你可以继续下一个条件,即“如果高度是……并且b或h都是N”。这就是你想要的逻辑吗?用调试器或纸笔检查一下,看看它是否能达到你认为的效果。非常感谢你的帮助!而且我的变量名很容易输入,它只会加快编码速度,而且不难记住哪个是哪个,所以我想这只是我自己的方法,让事情变得更容易.哦,好吧。不客气。是的,这是一个正常的反应,对于一个小型个人项目来说是可以理解的。但是随着项目的发展和变得越来越复杂,记住所有变量将变得越来越困难。迟早,上下文较少的人也可能会阅读您的代码(如下面的Stackoverlow中的我们).多花一点时间编写可读、可维护的代码是一个好习惯,它可以在将来为您节省很多麻烦…:-)
    if ((H >= 122 && H <= 188) && (h.equals("N") || b.equals("N"))) {
    
    if ((H >= 122 && H <= 188) && (h.equals("N") && b.equals("N"))) {