简体   繁体   中英

how can i print this loop

I want java to ask the user entail he get both weight or height above 0

                    System.out.print("\tEnter your weight in Kilogram: ");
                    double weight = in.nextDouble();

                    System.out.print("\tEnter your height in Centimeter: ");
                    double height = in.nextDouble();

                    if (weight <= 0 || height <= 0) {

                        while (true) {
    System.out.println("Wrong entry for weight or height... try again");
                        }

                    }

                    String clinic = "NUTRITION";

I couldn't do it without causing an infinite loop

this how i want my output:

    System.out.println("Enter the name (first and last): Omar\n"
            + "Enter your national ID number: 9821444\n"
            + "Enter your age: 30\n"
            + "Enter your mobile number (###-###-####): 055-098-1122\n"
            + "Enter your weight in Kilogram: 0\n"
            + "Enter your height in Centimeter: 176\n"
            + "Wrong entry for weight or height... try again\n"
            + "Enter your weight in Kilogram: 77\n"
            + "Enter your height in Centimeter: 0\n"
            + "Wrong entry for weight or height... try again\n"
            + "Enter your weight in Kilogram: 77\n"
            + "Enter your height in Centimeter: -176\n"
            + "Wrong entry for weight or height... try again\n"
            + "Enter your weight in Kilogram: 77\n"
            + "Enter your height in Centimeter: 176");

Try this:

double height = 0;
double weight = 0;

while (weight <= 0 || height <= 0) {

    System.out.print("\tEnter your weight in Kilogram: ");
    weight = in.nextDouble();

    System.out.print("\tEnter your height in Centimeter: ");
    height = in.nextDouble();

   if (weight <= 0 || height <= 0) {
       System.out.println("Wrong entry for weight or height... try again");
   }
}

Expand your loop to the entirety of your input logic:

            do {
                System.out.print("\tEnter your weight in Kilogram: ");
                double weight = in.nextDouble();

                System.out.print("\tEnter your height in Centimeter: ");
                double height = in.nextDouble();

                if (weight <= 0 || height <= 0) {
                    System.out.println("Wrong entry for weight or height... try again");
                }
            } while(weight <= 0 || height <= 0)

try this:

             boolean cont = true;

            while (cont) {
            System.out.print("\tEnter your weight in Kilogram: ");
            double weight = in.nextDouble();

            System.out.print("\tEnter your height in Centimeter: ");
            double height = in.nextDouble();

            if (weight <= 0 || height <= 0) {


        System.out.println("Wrong entry for weight or height... try again");
                }else{
                    cont=false;
                }
            }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM