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

程序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);
	}
}


 

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值