//尝试两人合作写程序,加深对方法的接口与实现的理解,其中一人负责写方法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; } }

|