【程序44】 题目:一个偶数总能表示为两个素数之和。

来源:互联网 发布:淘宝购买叶罗丽娃娃 编辑:程序博客网 时间:2024/05/01 20:03

程序44 题目:一个偶数总能表示为两个素数之和

(啰嗦两句   这道题目其实是很简单的,但是我的代码是比较长的 因为我完善了一下题目的要求,加入和题目相关的知识 ,毕竟题目不是单纯的完成就可以了,我们要从中学到知识。

我下面的代码要详细的注释  从中可以知道键盘的输入,集合的创建和使用 以及语句的判断等知识)

代码如下

public class java44 {int i = 0;int[] a = new int[20];// 输入一个偶数,如果输入的是偶数的话 那么就让它再次输入public int input() {System.out.println("请输入一个偶数");// 从键盘输入一个字符串Scanner sc = new Scanner(System.in);// 将其转换成int型a[i] = sc.nextInt();if (a[i] % 2 != 0) {System.out.println("输入的不是偶数 请重新输入");i++;input();}return a[i];}// 求从1到输入的这个数之间的素数public ArrayList<Integer> sushu(int number) {ArrayList<Integer> list = new ArrayList<Integer>();list.add(1);for (int i = 2; i < number; i++) {boolean b = true;for (int j = 2; j < i; j++) {if (i % j == 0) {b = false;break;}}if (b) {list.add(i);}}System.out.println("在" + number + "之间的素数有");System.out.println(list);return list;}// 判断输入的偶数 是否可以使两个素数的和public void judge(ArrayList<Integer> list, int number) {for (int i = 0; i < list.size(); i++) {for (int j = 0; j < list.size(); j++) {if (number == list.get(i) + list.get(j)) {System.out.println("输入的偶数" + number + "是" + list.get(i)+ "和" + list.get(j) + "这两个素数的和");}}}}public static void main(String[] args) {java44 test = new java44();int number = test.input();System.out.println(number);ArrayList<Integer> list = test.sushu(number);test.judge(list, number);}}


 

0 0