Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

I have trouble with changing the process of that code in Java

I have trouble with changing my code. I want to do that with a boolean and I have no clue how to do that. It is just confusing me.

This is my task:

Tyrepressure-test

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

It is to check whether the pressure of all tires is between 35 and 45. If a tire is outside this range, a warning message is issued immediately. After that, the program continues reading and processing the values.

If a warning message occurs, the program issues a final warning message at the end. We declare a Boolean variable pressureOK for this purpose.

boolean pressureOK

We initialize it with true and set the value to false if a tire is outside the valid range.

They’re even helping me in the task with the boolean thing but I’m so clueless and confused so that I just don’t know how to do that. To be honest I have tried literally everything. Before I ask for a solution I always try everything that is possible because if I would just ask for a solution without trying it, it would be useless.

my code:

import java.util.Scanner;

public class Tyrepressure {

    public static void main(String[] args) {

        Scanner scanner1 = new Scanner(System.in);

        System.out.println("Enter your tyrepressure of your right-front-tyre in pounds per square inch: ");
        double rightFrontTyre = scanner1.nextDouble();

        System.out.println(" "); // For space in between the user input

        System.out.println("Enter your tyrepressure of your left-front-tyre in pounds per square inch: ");
        double leftFrontTyre = scanner1.nextDouble();

        System.out.println(" "); // For space in between the user input

        System.out.println("Enter your tyrepressure of your left-back-tyre in pounds per square inch: ");
        double rightBackTyre = scanner1.nextDouble();

        System.out.println(" "); // For space in between the user input

        System.out.println("Enter your tyrepressure of your right-back-tyre in pounds per square inch: ");
        double leftBackTyre = scanner1.nextDouble();

        System.out.println(" "); // For space in between the user input

        if (rightFrontTyre >= 35 && rightFrontTyre <= 45) {
            System.out.println("right-front-tyre = " + rightFrontTyre + " psi, your tyrepressure is okay!");
        } else {
            System.out.println("right-front-tyre = " + rightFrontTyre
                    + " psi, your tyrepressure is critical, it is out of the allowed range!");
        }

        System.out.println(" "); // For space in between the user input

        if (leftFrontTyre >= 35 && leftFrontTyre <= 45) {
            System.out.println("left-front-tyre = " + leftFrontTyre + " psi, your tyrepressure is okay!");
        } else {
            System.out.println("left-front-tyre = " + leftFrontTyre
                    + " psi, your tyrepressure is critical, it is out of the allowed range!");
        }

        System.out.println(" "); // For space in between the user input

        if (rightBackTyre >= 35 && rightBackTyre <= 45) {
            System.out.println("right-back-tyre = " + rightBackTyre + " psi, your tyrepressure is okay!");
        } else {
            System.out.println("right-back-tyre = " + rightBackTyre
                    + " psi, your tyrepressure is critical, it is out of the allowed range!");
        }

        System.out.println(" "); // For space in between the user input

        if (leftBackTyre >= 35 && leftBackTyre <= 45) {
            System.out.println("left-back-tyre = " + leftBackTyre + " psi, your tyrepressure is okay!");
        } else {
            System.out.println("left-back-tyre = " + leftBackTyre
                    + " psi, your tyrepressure is critical, it is out of the allowed range!");
        }

        System.out.println(" "); // For space in between the user input

        if (rightFrontTyre < 35 || rightFrontTyre > 45 || leftFrontTyre < 35 || leftFrontTyre > 45
                || rightBackTyre < 35 || rightBackTyre > 45 || leftBackTyre < 35 || leftBackTyre > 45) {
            System.out.println("You have to check your tyrepressure!");
        }
    }
}

output:

Enter your tyrepressure of your right-front-tyre in pounds per square inch: 
40
 
Enter your tyrepressure of your left-front-tyre in pounds per square inch: 
32
 
Enter your tyrepressure of your left-back-tyre in pounds per square inch: 
11
 
Enter your tyrepressure of your right-back-tyre in pounds per square inch: 
40
 
right-front-tyre = 40.0 psi, your tyrepressure is okay!
 
left-front-tyre = 32.0 psi, your tyrepressure is critical, it is out of the allowed range!
 
right-back-tyre = 11.0 psi, your tyrepressure is critical, it is out of the allowed range!
 
left-back-tyre = 40.0 psi, your tyrepressure is okay!
 
You have to check your tyrepressure!

It works fine but I have to do the last part with a boolean datatype and as I already said I just don’t know how…..

>Solution :

You can assign the expression inside the condition in the if statement – and then reuse that in the if, like so:

boolean pressureOkRightFront = (rightFrontTyre >= 35 && rightFrontTyre <= 45);

if (pressureOkRightFront) {
    System.out.println("right-front-tyre = " + rightFrontTyre + " psi, your tyrepressure is okay!");
} else {
    System.out.println("right-front-tyre = " + rightFrontTyre
            + " psi, your tyrepressure is critical, it is out of the allowed range!");
}

boolean pressureOkLeftFront = (leftFrontTyre >= 35 && leftFrontTyre <= 45);

// continue with the code for the other three tyres - remember to use a new boolean variable for each.

// then do this for the final check:

if (!(pressureOkRightFront && pressureOkLeftFront && 
        pressureOkRightBack && pressureOkLeftBack)) {
    System.out.println("You have to check your tyrepressure!");
}

Please note that in your original code you checked the opposite conditions for the last output – if any of the pressures is out of range. I used boolean logic to get the same final result from the single prechecked results for the individual tyres:

If NOT all of the four pressures are OK, I print the warning. The NOT is the exclamation mark ! in that condition, and the parentheses are important because otherwise the ! would be evaluated only for the pressureOkRightFront.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading