您的位置:首页 > 其它

作业5 四则运算 测试与封装 5.1

2015-04-30 16:18 267 查看
我这次的结对伙伴是:罗林杰 博客:http://www.cnblogs.com/yihou2ni/

在这次结对任务中,我跟我的结对伙伴各自负责写白盒、黑盒的测试。类的封装是一起合作完成的。

1.第一阶段目标 - 把计算的功能封装成类。

mySize.java

package packageClass;

import javax.swing.JLabel;
import javax.swing.JTextField;

public class Core {
static double result=0;
static int count=0;

public int Factorial(int a)
{
int i,sum=1;
for(i=1;i<=a;i++)
{
sum=sum*i;
}
return sum;
}

public double creatQuestion(JLabel Questions,int d1,int d2,int d3,int op) {
op=(int) (Math.random()*5);
d1=(int) (Math.random()*200-100);
d2=(int) (Math.random()*200-100);
d3=(int) (Math.random()*200-100);
switch(op)
{
case 0:result=(d1+d2*d3);
if(d2<0&&d3<0)Questions.setText(String.valueOf(d1)+"+("+String.valueOf(d2)+")×("+String.valueOf(d3)+")=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"+("+String.valueOf(d2)+")×"+String.valueOf(d3)+"=");
else if (d2>0&&d3>0)Questions.setText(String.valueOf(d1)+"+"+String.valueOf(d2)+"×"+String.valueOf(d3)+"=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"+"+String.valueOf(d2)+"×("+String.valueOf(d3)+")=");break;
case 1:result=(d1+(double)d2/d3);
if(d2<0&&d3<0)Questions.setText(String.valueOf(d1)+"+("+String.valueOf(d2)+")÷("+String.valueOf(d3)+")=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"+("+String.valueOf(d2)+")÷"+String.valueOf(d3)+"=");
else if (d2>0&&d3>0)Questions.setText(String.valueOf(d1)+"+"+String.valueOf(d2)+"÷"+String.valueOf(d3)+"=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"+"+String.valueOf(d2)+"÷("+String.valueOf(d3)+")=");break;
case 2:result=(d1-d2*d3);
if(d2<0&&d3<0)Questions.setText(String.valueOf(d1)+"-("+String.valueOf(d2)+")×("+String.valueOf(d3)+")=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"-("+String.valueOf(d2)+")×"+String.valueOf(d3)+"=");
else if (d2>0&&d3>0)Questions.setText(String.valueOf(d1)+"-"+String.valueOf(d2)+"×"+String.valueOf(d3)+"=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"-"+String.valueOf(d2)+"×("+String.valueOf(d3)+")=");break;
case 3:result=(d1-(double)d2/d3);
if(d2<0&&d3<0)Questions.setText(String.valueOf(d1)+"-("+String.valueOf(d2)+")÷("+String.valueOf(d3)+")=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"-("+String.valueOf(d2)+")÷"+String.valueOf(d3)+"=");
else if (d2>0&&d3>0)Questions.setText(String.valueOf(d1)+"-"+String.valueOf(d2)+"÷"+String.valueOf(d3)+"=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"-"+String.valueOf(d2)+"÷("+String.valueOf(d3)+")=");break;
case 4:result=((d1*d2)/(double)d3);
if(d2<0&&d3<0)Questions.setText(String.valueOf(d1)+"×("+String.valueOf(d2)+")÷("+String.valueOf(d3)+")=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"×("+String.valueOf(d2)+")÷"+String.valueOf(d3)+"=");
else if (d2>0&&d3>0)Questions.setText(String.valueOf(d1)+"×"+String.valueOf(d2)+"÷"+String.valueOf(d3)+"=");
else if (d2<0&&d3>0)Questions.setText(String.valueOf(d1)+"×"+String.valueOf(d2)+"÷("+String.valueOf(d3)+")=");break;
} return result;
}

public int CorrectNum(double a,double result,JLabel Feedback) {

if(Math.abs(a-result)<0.01){
Feedback.setText("答案正确!请继续做题。");
count++;
}
else
Feedback.setText("答错了!正确答案:"+String.format("%.2f",result));
return count;
}

}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: