תרגיל בJAVA

benda2109

New member
תרגיל בJAVA

בעיה- בניתי תוכנית פשוטה שאמורה לקלוט 2 מס' ולרשום כמה מס' בינהם יהיו ראשוניים. משום מה התוכנית נכנסת ללואה אינסופית. מישהו יודע למה?
import corejava.*; public class PrimeDensity { public static void main (String[] args) { int counter=0; int a=Console.readInt("enter the first number"); int b=Console.readInt("enter the second number"); for (int i=a; i<b; i=i++) { //the number 1 is not Prome in this program for (int k=2; (k<=Math.sqrt(i))|(k<i); k=k++) { //for each number in the range checks it's divders if (i%k!=0) { counter=counter++; } System.out.println("there are "+counter+" prime numbers between "+a+" and "+b); System.out.println("the density is "+(int)counter/(b-i)); } } } }​
 

user32

Well-known member
מנהל
כן

בכל הלולאות אתה צריך לכתוב for (int i=a; i<b; i++) ולא for (int i=a; i<b; i=i++)
 
למעלה