0
why dose this code run forever and doesn't execute the while loop ??
package primenum; import java.util.*; public class PrimeNum { public static void main(String[] args) { Scanner NUM = new Scanner(System.in); System.out.println("enter the min number: "); double a = NUM.nextDouble(); System.out.println("enter the max number: "); double b = NUM.nextDouble(); while(a <= b) { if ((!(a%2==0))||(a==2.0)) {System.out.println(a); a++ ;}} }}
3 Answers
+ 1
If `a` is even and not equal to 2, the if-condition would be false, and the value of `a` would not be changed. The loop will repeat again with the same value of `a`, hence the same thing will happen again, and keep happening forever.
+ 1
Sarah
Because you have written a++ inside if condition so if I takes 10 and 20 then condition is not satisfying and 'a' is not incrementing.
If 'a' will not increment then while loop condition will remain constant and loop will run forever.
So write a++ outside the if condition.
0
how so, i have written after the statement a++
so it'll increase by 1 every time