gpt4 book ai didi

java - 为什么我在java中的 boolean 测试总是失败?

转载 作者:行者123 更新时间:2023-12-02 08:37:12 26 4
gpt4 key购买 nike

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

在我的类里面,我必须使用 boolean 值,这就是我尝试过的。但是返回的 boolean 值始终为 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)

boolean 比较运算符是==!== 是赋值运算符。

此外,您需要先设置 goodPressure = true;,然后再检查是否违反条件。

关于java - 为什么我在java中的 boolean 测试总是失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2429843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com