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解决方案:将主函数与运算函数分离,且要在源代码的包中编写测试代码,测试代码中只测试运算函数是否正确工作

其他(感悟、思考等)

学会了如何编写测试代码。

参考资料

posted @ 2020-10-11 12:45  王梓全  阅读(133)  评论(0编辑  收藏  举报