java求偶数的数队
编制具有如下原型的函数prime,用来判断整数n是否为素数:bool prime(int n); 而后编制主函数,任意输入一个大于4的偶数d,找出满足d=d1+d2的所有数对,其中要求d1与d2均为素数(通过调用prime来判断素数)。如偶数18可以分解为11+7以及13+5;而偶数80可以分解为:43+37、61+19、67+13、73+7。
提示:i与d-i的和恰为偶数d,而且只有当i与d-i均为奇数时才有可能成为所求的“数对”。
4.2概要设计:
本程设计思路: 首先判断要分解的数是不是大于4,如果是的话就从i=3开始判断i和m-i的数是不是素数,如果是的话就是所要分解的数的一组数对保存到sum中,最后一起输出。
程序流程图(如左图):
4.3 详细设计与编码:
见上传程序。
4.4 调试分析:
在调试过程中开始的时候素数的判断方法弄错了,还把程序都穿上去了。后来同学问的时候才发现自己用prime调用不是判断的素数而是算所有非偶数组成的数对。
程序执行的结果:
错误检测
4.5 用户使用说明:
用户根据程序的提示输入所要进行计算的数字,程序就会自己计算出所需的得数。如果有错误的话,程序会提出警示。
4.6 设计心得:
对于这次的实验感触最大的就是自以为是简单的东西往往由于疏忽而计算不对。判断素数的时候就是没有太多想,感觉简单就是了,直接就照着自己的想法来,将素数简单的理解为就是不能被2所整除的数了。如果不是有同学问,可能还一直都找不出这个错误的。所以每次的试验都要认真对待,不能犯低级的错误。
/**
编制具有如下原型的函数prime,用来判断整数n是否为素数:bool prime(int n);
而后编制主函数,任意输入一个大于4的偶数d,找出满足d=d1+d2的所有数对,
其中要求d1与d2均为素数(通过调用prime来判断素数)。
如偶数18可以分解为11+7以及13+5;而偶数80可以分解为:43+37、61+19、67+13、73+7。
提示:i与d-i的和恰为偶数d,而且只有当i与d-i均为奇数时才有可能成为所求的“数对”。
*/
import javax.swing.JOptionPane;
public class shier {
public static void main(String args[]){
try{
String sum="";//用来放结果的字符串
String br=JOptionPane.showInputDialog("输入m的值:");
int m=Integer.parseInt(br);
if(m>4&&m%2==0){//当m大于4并且是偶数的时候才做处理
原文请找腾讯752018766辣,文-论'文.网http://www.751com.cn }
else {
JOptionPane.showMessageDialog(null,"输入的数值有错!");
}
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"出错!!输入数应该为数字");
}
}
private static boolean prime(int n) {//判断是否是素数
int j;
for(j=2;j<n-1;j++){//从2一直到n-1如果有能被除的,就说明不是素数,返回false
if(n%j==0) break;
}
if(j>=n-1) return true;//如果一直到n-1都没有能被除的,就说明是素数,返回true
else return false;1837