//尝试两人合作写程序,加深对方法的接口与实现的理解,其中一人负责写方法isPrime(),
//用于判定一个给定的正整数是否是素数,另一人负责写主方法main(),利用isPrime()验
//证歌德巴赫猜想:任何比2大的偶数可表示为两个素数只和.
/*
*auther starshus
*
*Date 04/11/20
*/
import Java.io.BufferedReader;
import java.io.InputStreamReader;
//4.9.1
public class gedebahe
{
public static void main( String [] args)
{
for (;;)
{
int a=-1,b,c;//b,c是分解出来的两个数
System.out.print("Please input a oushu:");//输入一个偶数
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String inputLine = in.readLine();
a = Integer.valueOf(inputLine).intValue();
}catch (Exception exc)
{
System.out.println("Sorry,please input a number.");
return;
}
if (a%2!=0)
{
System.out.println("Sorry,please input a oushu.");
return;
}
for (b=1;b<a;b++)
{
c=(a-b);
if(isPrime(b)&&isPrime(c))
{
System.out.println(a+"="+b+"+"+c);
break;
}
}
}
}
public static boolean isPrime(int k)//方法用来判定一个数是否为偶数
{
int a;
boolean t = true;
if (k==1)
return t;
for (a=2;a<k;a++)
{
if (k%a==0)
break;
}
if (a!=k)
t=false;
return t;
}
}