Kilage
Kilage

Reputation: 25

How would I go about looping back to the beginning?

I'm trying to get it to where if the number is negative, it has you start over and input another number. I tried doing a while loop but it just put the System.out.println and I had gone into an endless loop.

    System.out.println("Please input a positive number: ");
    Scanner scan = new Scanner(System.in);
    int num = scan.nextInt();


    if (num < 0) {
        System.out.println("That number is negative.");
    }

    if (num >= 90 && num <= 110) {
        boolean value = true;
    } else if (num >= 190 && num <= 210) {
        boolean value = true;
    }

I've done something like this once before and I remember it being very simple once I figured it out haha. I don't have that file to look at unfortunately. Any help?

*Edited begining

   int num = scan.nextInt();
   while (num < 0)
   {
   System.out.println("Please input a positive number: ");
   Scanner scan = new Scanner(System.in);
   }

*Edit #2

Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
while (num < 0)
{
System.out.println("Please input a positive number: ");
}

*FINAL Working code

   int num;
   Scanner scan = new Scanner(System.in);

   while (true)
      {
         System.out.println("Please input a positive number: ");
         num = scan.nextInt();

      if (num < 0)
         { 
            System.out.println("That number is negative.");
         }
      else if ((num >= 90 && num <= 110) || (num >= 190 && num <= 210))
         { 
            System.out.println("true");
            break;
         }
      else
         {
            System.out.println("false");
            break;
         }

      }

Upvotes: 2

Views: 91

Answers (2)

d.moncada
d.moncada

Reputation: 17402

This will prompt the user again if the number is negative, if it's not, it will jump out the loop.

   int num;
   Scanner scan = new Scanner(System.in);

   while (true)
   {
      System.out.println("Please input a positive number: ");
      num = scan.nextInt();

      if (num < 0)
      {
        System.out.println("That number is negative.");
      }
      else if ((num >= 90 && num <= 110) || (num >= 190 && num <= 210))
      {
        break;
      }
   }

Upvotes: 1

Jeroen Vannevel
Jeroen Vannevel

Reputation: 44439

boolean value;    
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();

while(num < 0) {
   System.out.println("Please enter a positive number: ");
   num = scan.nextInt();
}

if (num >= 90 && num <= 110) {
       value = true;
} else if (num >= 190 && num <= 210) {
       value = true;
}

// rest of your code

Place it in a while loop that runs as long as the number is negative.

Upvotes: 0

Related Questions