Reputation: 25
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
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
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