当前位置: 首页 > 面试题库 >

为什么我的Java布尔测试总是失败?

乌修筠
2023-03-14
问题内容

我正在尝试进行布尔测试,以便如果其中一个胎压低于35或超过45,则系统会输出“不良充气”。

在我的课堂上,我必须使用布尔值,这是我尝试过的。但是,返回的布尔值始终为true。我不明白为什么。

public class tirePressure
{
    private static double getDoubleSystem1 ()  //Private routine to simply read a double in from the command line
    {
        String myInput1 = null; //Store the string that is read form the command line
        double numInput1 = 0;      //Used to store the converted string into an double
        BufferedReader mySystem; //Buffer to store input
        mySystem = new BufferedReader (new InputStreamReader (System.in)); // creates a connection to system files or cmd
        try
        {
            myInput1 = mySystem.readLine (); //reads in data from console
            myInput1 = myInput1.trim (); //trim command cuts off unneccesary inputs
        }
        catch (IOException e)  //checks for errors
        {
            System.out.println ("IOException: " + e);
            return -1;
        }

        numInput1 = Double.parseDouble (myInput1); //converts the string to an double
        return numInput1;                       //return double value to main program
    }

    static public void main (String[] args)
    {
        double TireFR; //double to store input from console
        double TireFL;
        double TireBR;
        double TireBL;
        boolean goodPressure;
        goodPressure = false;

        System.out.println ("Tire Pressure Checker");
        System.out.println (" ");

        System.out.print ("Enter pressure of front left tire:");
        TireFL = getDoubleSystem1 ();    //read in an double from the user

        if (TireFL < 35 || TireFL > 45)
        {
            System.out.println ("Pressure out of range");
            goodPressure = false;
        }

        System.out.print ("Enter pressure of front right tire:");
        TireFR = getDoubleSystem1 ();    //read in an double from the user

        if (TireFR < 35 || TireFR > 45)
        {
            System.out.println ("Pressure out of range");
            goodPressure = false;

        }

        if (TireFL == TireFR)
            System.out.print (" ");
        else
            System.out.println ("Front tire pressures do not match");
        System.out.println (" ");

        System.out.print ("Enter pressure of back left tire:");
        TireBL = getDoubleSystem1 ();    //read in an double from the user

        if (TireBL < 35 || TireBL > 45)
        {
            System.out.println ("Pressure out of range");
            goodPressure = false;
        }

        System.out.print ("Enter pressure of back right tire:");
        TireBR = getDoubleSystem1 ();    //read in an double from the user

        if (TireBR < 35 || TireBR > 45)
        {
            System.out.println ("Pressure out of range");
            goodPressure = false;
        }

        if (TireBL == TireBR)
            System.out.print (" ");
        else
            System.out.println ("Back tire pressures do not match");

        if (goodPressure = true)
            System.out.println ("Inflation is OK.");
        else
            System.out.println ("Inflation is BAD.");

        System.out.println (goodPressure);


    } //mainmethod
} // tirePressure Class

问题答案:
    if (goodPressure = true)

更改为:

    if (goodPressure == true)

甚至更好:

    if (goodPressure)

布尔比较运算符为==!=。该=是赋值运算符。

另外,goodPressure = true;在检查是否违反条件之前,需要进行初始设置。



 类似资料:
  • 问题内容: 我正在使用hamcrest 1.3测试我的代码。这简直是​​死。我试图对其进行测试,以确保生成的数字小于13。我有一条打印语句,其中打印了生成的数字。生成的数字始终小于13,但测试始终失败。我做错什么了吗? 这是我正在测试的代码。 这是我的测试代码。 编辑:这是故障堆栈跟踪。 问题答案: 这是帮助我解决问题的站点。 http://code.google.com/p/hamcrest/i

  • 问题内容: 我的collide_rect函数无法正常工作。如果没有,它将始终返回True。我尝试过在互联网上查找内容,但没有任何内容适合我。我认为碰撞矩形某种程度上没有使用两个Sprite的实际坐标。有人能帮忙吗? PS这是我的第一篇文章:) 问题答案: 返回具有 Surface 对象大小的矩形,但是由于 Surface 对象没有位置,因此它返回始终以(0,0)开始的矩形。 Surface放置在显

  • 我们使用Assertj Swing3.9.2进行的gui单元测试偶尔会以难以重现的方式失败。有时整个测试套件是绿色的,有时一些测试用例失败。我们使用Ubuntu18.04LTS和GNOME两台不同的机器,我们得到了相同的错误。 抛出的异常有两个,并不时出现在不同的测试用例中: null null 此外,在不同的测试用例中,重复运行多次相同的测试可能会导致失败或成功。 特拉维斯-奇的测试也失败了。

  • 从Spring 3.1开始,由于@Enable*注释,我们可以更容易地使用JavaConfig。 所以我做了一个WebConfig来设置WebMvc配置,并尝试对其进行测试。但是,如果我使用WebConfig扩展WebMVCConfigureAdapter或WebMvcConfigurationSupport,单元测试将失败,因为缺少ServletContext。代码和消息如下所示。 网络配置。J

  • 我已经介绍了SO的所有解决方案,以解决NetworkOnMainThreadException(包括异步类),但仍然存在一些问题 这是我的简单代码: 活动主类别: MyTask类: 但仍然: 注意: 如果我把: 它确实有效: 问题 我做错了什么? 完整堆栈跟踪:http://jsbin.com/bilafi/2/edit 我所做的就是加载json文件! onPostExecute的完整代码:

  • 我的问题很简单,我知道我遗漏了一些非常明显的东西,我就是不知道它是什么。。。。 我对霍尔特·温特斯的测试预测结果是南,我不知道为什么。有人能帮忙吗? 我正在使用Jupyter笔记本电脑,并试图使用霍尔特-温特斯方法预测一个SKU的销售额。我甚至用了 以下是我使用的代码: 有人能指出我可能遗漏了什么吗?这似乎是一个简单的问题和一个简单的解决方案,但它踢我的屁股。 谢谢