PDA

View Full Version : سوال: راهنمایی در حل ارور های یک برنامه ساده جاوا



Mr.Gharibe
چهارشنبه 18 آذر 1394, 20:52 عصر
سلام دوستان

برنامه ی زیر که توسط استاد در درس مبانی برنامه سازی به ما گفته بود در محیط نت بینز دارای چند ارور هست،دوستان راهنمایی کنند

ارور ها به چه دلیل می باشد

برنامه هم نمایش 50عدد اول در قالب هر 10 عدد در یک خط


public class PrimeNumber {
public static void main(String[] args) {
System.out.println("The First 50 Prine Numbers Are:");
printprime(50);
public static void printprime(int numberofprime){
int count=0;
int number=2;
final int number_of_prime_in_each_line=10;
while(count<=numberofprime){
if(is prime(number)){
count++;
if(count%number_of_prime_in_each_line==0)
System.out.printf("5%d\n",number);
else
System.out.printf("5%d",number);}
number++;}
}
public static bolean is prime(int number){
for(int divisor=2;divisor<=number/2;divisor++)
if(number%diviser==0);{
return false;
}
return true;
}
}

Kevin_Anderson
یک شنبه 06 تیر 1395, 18:50 عصر
سلام
دوست عزیز
اولا کد شما مشکله syntax ای داره
مثلا boolean رو اشتباه نوشتید
تعداده { ها و ترتیبشون ایراد داره
من کد رو براتون باز نویسی کردم
اما این کد اجرا نمیشه چون منظورتونو از
number%diviser نفهمیدم
و همچنین مقدار هی های اولیه تون مثلا number=2 که تو همون اولین اجرا for(int divisor=2;divisor<=value;divisor++) به مشکل میخوره
میزان division =2 ومیزان value که اینجا همون number/2 میشه 1
کدها تون رو با توجه به منطق برنامه تغییر بدید

راستی eclipse فضای بهتری داره پیشنهاد میکنم ازش استفاده کنید




public class PrimeNumber {
public static void main(String[] args) {
System.out.println("The First 50 Prine Numbers Are:");
printprime(50);
}

public static void printprime(int numberofprime){
int count=0;
int number=2;
final int number_of_prime_in_each_line=10;
while(count<=numberofprime){
if(isprime(number)){
count++;
if(count%number_of_prime_in_each_line==0)
System.out.printf("5%d\n",number);
else
System.out.printf("5%d",number);
}
number++;
}
}

public static boolean isprime(int number){
int diviser = 0;
double value= number/2;
double result=0;
for(int divisor=2;divisor<=value;divisor++){
result = number%diviser;
if(result==0){
return false;
}
value = number/2;
}
return true;
}

}