i trying find our prime numbers in given array. this, have written following code. somehow, not working expected. kindly me debug issue.
public class primenbr { public static void main(string[] args) { int a[]= { -2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97}; int prime_flag=0; //for loop keep going 1 one , check if number prime system.out.println("welcome basic prime number program"); for(int j=0;j<=99 & a[j] > 1;j++) { prime_flag=0; //checks prime number for(int i=2,div=(int) math.sqrt(a[j]) + 1; <= div;i++){ if (a[j]%i==0){ prime_flag++; } } if ((prime_flag == 0 & a[j] >= 2) | a[j] == 2) system.out.println("hurray!!! prime number"+a[j]); } } } output:
welcome basic prime number program
condition iterate loop
for(int j=0; j<=99 & a[j] > 1; j++) is j<=99 & a[j].
you initialized j 0, j<=99 part true, problem lies in second part of condition.
j=0 condition a[j]>1 becomes a[0]>1, a[0] -2, leaves -2>1 false.
so end true & false false, loop no longer iterate (or more precise not start iterating).
Comments
Post a Comment