使用java编写判断自然数是否为素数的方式是,使用scanner来接受用户输入的数值,使用素数的算法,实例如下:
Scanner sr = new Scanner(System.in)System.out.print("请输入a的值:")
int a = sr.nextInt()
boolean is = true
if (a < 1)
{
System.out.println(a + "不是质数,因为他小于一")
}
else
{
List<Integer> list = new ArrayList<Integer>()
for (int i = 2 i < a i++)
{
if (a % i != 1 && a % i != a)
{
if (a % i == 0){
is=false
list.add(i)
}
}
}
if(is){
System.out.println("a是质数")
}else{
String yz=""
for (int i = 0 i < list.size() i++)
{
if (yz=="")
{
yz=yz+list.get(i)
}else{
yz=yz+","+list.get(i)
}
}
System.out.println("a不是质数,因为他含有因子"+yz)
}
}
楼主的程序略有误,下为修改后的代码public class Test {
public static void main(String[] args) {
int i =1,j =2
for(i=1i<=100i++) {
for(j=2j<=ij++){
//素数是指除了1和自身外不能被任何数整除的数
//因此遍历每一个小于i大于2的整数j
if(i%j==0)
//如果i能够被j整除
if(i==j)
//如果当i等于j的时候则满足i是素数的条件,即只能被1(
//j是从2计数的)和自身整除,因此i是素数
System.out.println(i +"是素数")
else
//在如果存在一个小于i大于2的整数j可以整除i,则i必不是
//素数,因此break操作.
break//如果i可以被j整除且j不等于i,则跳出循环
}
}
}
}
亲测可用..