import java.util.*;
/*从键盘输入一个整数,判定它是否为素数。只能被1和其自身整除的整数,称为素数。*/
public class Sushu {
public static void main(String args[]){
System.out.println("请输入一个整数");
Scanner a=new Scanner(System.in);
int b=a.nextInt();
if((1%b==0)||(b%b==0)){
System.out.println(+b+"是素数");
else
System.out.println(+b+"不是素数");
}
}
}
这个程序中,只要你输出一个非素数的整数,就会出错,不知道为什么请高手指点
----------------解决方案--------------------------------------------------------
楼主在开玩笑吧,这个程序,不管你输入的是什么整数,他都说这个整数是素数。if语句的判断条件本身就有问题,1对b取模等于0,那么b只能是1,b对b取模等于0,b可以是任意数。
----------------解决方案--------------------------------------------------------
怎么做啊,指点一下。。。啊,新手啊。。。
----------------解决方案--------------------------------------------------------
import java.util.*;
/*从键盘输入一个整数,判定它是否为素数。只能被1和其自身整除的整数,称为素数。*/
public class Sushu {
public static void main(String args[]){
System.out.println("请输入一个整数");
Scanner a=new Scanner(System.in);
int b=a.nextInt();
int m=1;
for(int i=2;i<b;i++){
m=m*(b%i);//b对2到b-1之间的数取模,如果b不是素数,里面肯定有0,那么连成的结果就肯定为零。
}
if(m!=0){System.out.println(b+"是素数");}//承接上面,m的结果不为零,就说明b是素数。
else{System.out.println(b+"不是素数");}
}
}
楼主写的程序的语句语法没有问题,只是思想不正确,楼主应该多建立编程的思想了
----------------解决方案--------------------------------------------------------
//瞎编的,见笑
public class Test {
public static void suShu(int num){
int count;
for (int i=2;i<=num;i++){
count=0;
for (int j=1;j<i;j++){
if (i%j==0){
count++;
}
}
if (count==1){
System.out.print(i+" ");
}
}
}
public static void main(String[] args) {
Test2.suShu(100);
}
}
----------------解决方案--------------------------------------------------------
我把求素数问题做成GUI.与大家分享以下...
求素数算法采用xingsir 的程式,运行起来较慢...
请大家见谅.
[此贴子已经被作者于2007-6-17 11:29:38编辑过]
----------------解决方案--------------------------------------------------------