# Java 程序：检查一个数字是否可以表示为两个质数之和

> 原文： [https://www.programiz.com/java-programming/examples/sum-prime-numbers](https://www.programiz.com/java-programming/examples/sum-prime-numbers)

#### 在该程序中，您将学习检查给定的数字是否可以表示为两个质数之和。 这是借助 Java 中的循环和`break`语句完成的。

为了完成此任务，创建了`checkPrime()`函数。

如果传递给函数的数字是[质数](/java-programming/examples/prime-number "Check prime number in Java programming")，则`checkPrime()`返回 1。

## 示例：作为两个质数之和的整数

```java
public class CheckPrime {

    public static void main(String[] args) {
        int number = 34;
        boolean flag = false;
        for (int i = 2; i <= number / 2; ++i) {

            // condition for i to be a prime number
            if (checkPrime(i)) {

                // condition for n-i to be a prime number
                if (checkPrime(number - i)) {

                    // n = primeNumber1 + primeNumber2
                    System.out.printf("%d = %d + %d\n", number, i, number - i);
                    flag = true;
                }

            }
        }

        if (!flag)
            System.out.println(number + " cannot be expressed as the sum of two prime numbers.");
    }

    // Function to check prime number
    static boolean checkPrime(int num) {
        boolean isPrime = true;

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

        return isPrime;
    }
}
```

运行该程序时，输出为：

```java
34 = 3 + 31
34 = 5 + 29
34 = 11 + 23
34 = 17 + 17
```