37.md 2.1 KB
Newer Older
W
wizardforcel 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
# 用于检查素数的 Java 程序

> 原文: [https://beginnersbook.com/2014/01/java-program-to-check-prime-number/](https://beginnersbook.com/2014/01/java-program-to-check-prime-number/)

只能被 1 和 1 整除的数字称为**素数**,例如 7 是素数,因为它只能被 1 和 1 整除
这个程序取数字(由用户)然后检查输入数字是否为素数。然后程序显示结果。如果您正在寻找一个显示两个时间间隔之间的素数的程序,请参阅: [Java 程序,用于显示 1 到 n 之间的素数](https://beginnersbook.com/2014/01/java-program-to-display-prime-numbers/)

## 示例:用于检查输入编号是否为素数的程序

要理解这个程序,你应该知道 [for loop](https://beginnersbook.com/2015/03/for-loop-in-java-with-example/)[if-else 语句](https://beginnersbook.com/2017/08/if-else-statement-in-java/)[break 语句](https://beginnersbook.com/2017/08/java-break-statement/)

```java
import java.util.Scanner;
class PrimeCheck
{
   public static void main(String args[])
   {		
	int temp;
	boolean isPrime=true;
	Scanner scan= new Scanner(System.in);
	System.out.println("Enter any number:");
	//capture the input in an integer
	int num=scan.nextInt();
        scan.close();
	for(int i=2;i<=num/2;i++)
	{
           temp=num%i;
	   if(temp==0)
	   {
	      isPrime=false;
	      break;
	   }
	}
	//If isPrime is true then the number is prime else not
	if(isPrime)
	   System.out.println(num + " is a Prime Number");
	else
	   System.out.println(num + " is not a Prime Number");
   }
}
```

输出:

```java
Enter any number:
19
19 is a Prime Number
```

输出 2:

```java
Enter any number:
6
6 is not a Prime Number
```

您也可以使用 [while 循环](https://beginnersbook.com/2015/03/while-loop-in-java-with-examples/)来检查素数:
只需替换上面程序中的这部分代码:

```java
for(int i=2;i<=num/2;i++)
{
   temp=num%i;
   if(temp==0)
   {
      isPrime=false;
      break;
   }
}
```

有了这个:

```java
int i=2;
while(i<= num/2)
{
   if(num % i == 0)
   {
	isPrime = false;
	break;
   }
   i++;
}
```