java,判断一个整数是质数还是合数.

判断一个整数是质数还是合数.

-先了解质数和合数的概念:

  • 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数.
  • 合数是自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数.

即在正整数中(除了1),不是质数就是合数

方法1:

public static void what01(int n){
		int num1=0;
		for (int i = 1; i <=n; i++) {
			if (n%i==0) num1++;
		}
		if (num1==2) System.out.println(n+"是质数.");
		else if (num1==0||num1==1) System.out.println(n+"既不是质数也不是合数.");
		else System.out.println(n+"是合数.");
	}

方法2:

public static void what02(int n){//方法2
		int num2=0;
		for (int i = 2; i <n; i++) {
			if (n%i==0) num2++;
		}
		if (n<=1) System.out.println(n+"既不是质数也不是合数.");
		else if (num2==0) System.out.println(n+"是质数.");
		else if (num2!=0) System.out.println(n+"是合数.");
	}

方法3:

public static void what03(int n){
		if(n>1&&n<=10){
			if (n==2||n==3||n==5||n==7) {
				System.out.println(n+"是质数.");
			}
			else{
				System.out.println(n+"是合数");
			}
		}else if(n>10&&(n%2==0||n%3==0||n%5==0||n%7==0)){
			System.out.println(n+"是合数");
		}else if (n<=1){
			System.out.println("既不是质数也不是合数");
		}
		else{
			System.out.println(n+"是质数.");
		}
	}

主函数:

public static void main(String[] args) {
		System.out.println("输入1个整数n:");
		Scanner s=new Scanner(System.in);
		int n=s.nextInt();
		what01(n);
		//what02(n);
		//what03(n);
	}

你可能感兴趣的:(java,判断一个整数是质数还是合数.)