+ 1
Loop inside for loop
class Program public static void main(String args []){ int num; boolean isPrime; num = 14; if(num < 2) isPrime = falce; else isPrime=true; for(int i =2; i <= num/i; i++){ if((num%i)==0) { IsPrime = falce; break; } } if(isPrime) System.out.println("Prime"); else System.out.println("Not Prime"); } //please explaine me step by step how this program works. I'm not sure what should I do after first if, should I loop int 2 times until int "i" become 3 and stops because boolean won't work, I <= num/i, and what with second if, what should I do))
4 Réponses
+ 16
Hy Zhasulan Abishev
Here are some correction made in code :
class Program{
public static void main(String args []){
int num;
boolean isPrime;
num = 14;
if(num < 2) isPrime = false;
else isPrime=true;
for(int i =2; i <= num/i; i++){
if((num%i)==0) {
isPrime = false;
break;
}
}
if(isPrime) System.out.println("Prime");
else System.out.println("Not Prime");
}
}
//for explanation see next comment
+ 10
Explanation :
● if num<2 , then non-prime ,else will check with initial boolean value as true.
● for loop will work if i <= num/i & after each iteration value of i will increase by 1.
// (num/i) will return integer value after removing decimal part.
● inside for() loop if (num%i==0) , then number will be taken as non-prime & loop will stopby break; statement . //move to next if() statement then & print the result.
+ 5
Try to read up on loops again. If you are still confused, try to print the value of "i" while inside the loop to see what is happening with the value. Check the link below on how to find out if a number is prime or not:
https://www.thoughtco.com/how-to-determine-number-is-prime-2312518
https://www.sololearn.com/learn/Java/2146/?ref=app
https://www.sololearn.com/learn/Java/2147/?ref=app
https://www.sololearn.com/learn/Java/2206/?ref=app
+ 2
It's an iteration within an iteration. Read on control structures (constructs) before attempting to understand it