20192305王梓全 实验二 《数据结构与面向对象程序设计》实验报告
20192305 2020-2021-1 《数据结构与面向对象程序设计》实验二报告
课程:《程序设计与数据结构》
班级: 1923
姓名: 王梓全
学号:20192305
实验教师:王志强
实验日期:2020年10月8日
必修/选修: 必修
1.实验内容
- 编写简单的计算器,完成加减乘除模运算。
- 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
- 编写测试代码,测试验证。
2. 实验过程及结果
程序:
public class counter {
public static void main(String[] args) {
char n;
float a, b;
int m;
do{
Scanner scan = new Scanner(System.in);
System.out.print("输入你想进行的运算");
n = scan.next().charAt(0);
while (n != '+' && n != '-' && n != '*' && n != '/' && n != '%') {
System.out.print("再次输入你想进行的运算");
n = scan.next().charAt(0);
if (n == '+' || n == '-' || n == '*' || n == '/' || n == '%') {
break;
}
}
System.out.print("请输入你想运算的两个数");
a = scan.nextFloat();
b = scan.nextFloat();
float result = cou(n, a, b);
System.out.println("结果是"+result);
System.out.print("是否进行下次运算:\n1.是\n2.否\n");
m=scan.nextInt();
if(m!=1) break;
}while(m==1);
}
public static float cou(char n,float a,float b){
float result =0;
if(n=='+'){
result=a+b;
}
else if(n=='-'){
result=a-b;
}
else if(n=='*'){
result=a*b;
}
else if(n=='/'){
result=a/b;
}
else if(n=='%'){
result=a%b;
}
return result;
}
}
运行过程:
加法:
减法:
乘法:
模:
除法:
测试代码:
public class counterTest {
public static void main(String[] args) {
if (counter.cou('+',10,10)!=20)
System.out.println("加法运算失败");
else if (counter.cou('-',10,10)!=0)
System.out.println("减法运算失败");
else if (counter.cou('*',10,10)!=100)
System.out.println("乘法运算失败");
else if (counter.cou('/',10,10)!=1)
System.out.println("除法运算失败");
else if (counter.cou('%',25,10)!=5)
System.out.println("求模运算失败");
else System.out.println("全部通过测试!");
}
}
3. 实验过程中遇到的问题和解决过程
- 问题1:测试代码不会写
- 问题1解决方案:将主函数与运算函数分离,且要在源代码的包中编写测试代码,测试代码中只测试运算函数是否正确工作
其他(感悟、思考等)
学会了如何编写测试代码。