用java编写一个程序段,输入一个自然数,判断该数是否为素数.

Python033

用java编写一个程序段,输入一个自然数,判断该数是否为素数.,第1张

使用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,则跳出循环

}

}

}

}

亲测可用..