• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
显示昵称已被使用,害
博客园    首页    新随笔    联系   管理    订阅  订阅

20192310 实验二 《数据结构与面向对象程序设计》实验报告

20192310 2020-2021-1 《数据结构与面向对象程序设计》实验二报告

课程:《程序设计与数据结构》
班级: 1923
姓名: 严嘉钰
学号:20192310
实验教师:王志强
实验日期:2020年10月8日
必修/选修: 必修

1.实验内容

(1) 编写简单的计算器,完成加减乘除模运算。
(2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
(3) 编写测试代码,测试验证。

2. 实验过程及结果

按照要求编写代码,我的代码为:

import java.util.Scanner;
public class test10081 {
   
 public static void main(String[] args) {
        float num1, num2, result;
        int judge, judge1;
        do {
            System.out.println("请输入你想进行运算的两个数:");
            Scanner scan = new Scanner(System.in);
            num1 = scan.nextFloat();
            num2 = scan.nextFloat();
            System.out.println("请选择你需要进行的运算类型:\n1.加法\n2.减法\n3.乘法\n4.除法\n5.求模\n");
            judge = scan.nextInt();
            if (judge==4&&num2==0||judge==5&&num2==0)
                System.out.println("被除数为0,错误");
            while (judge != 1 && judge != 2 && judge != 3 && judge != 4 && judge != 5)
            {
                System.out.println("请重新选择运算类型:");
                judge = scan.nextInt();
            }
            result = calculate(judge, num1, num2);
            System.out.println("运算结果为:\n" + result);
            System.out.println("是否继续下一次运算?\n1.是\n2.否\n");
            judge1 = scan.nextInt();
            if (judge1 != 1) break;
        } while (judge1 == 1);
    }
public static float calculate(int judge, float num1, float num2) {
        float result = 0;
        switch (judge) {
            case 1:
                result = num1 + num2;
                break;
            case 2:
                result = num1 - num2;
                break;
            case 3:
                result = num1 * num2;
                break;
            case 4:
                result = num1 / num2;
                break;
            case 5:
                result = num1 % num2;
                break;
        }
        return result;
    }
}


可以看到运行结果如上
编写的测试代码如下:

public class test10081Test {
    public static void main(String[] args) {
        if (test10081.calculate(1,10,10)!=20)
            System.out.println("加法运算失败");
        else if (test10081.calculate(2,10,10)!=0)
            System.out.println("减法运算失败");
        else if (test10081.calculate(3,10,10)!=100)
            System.out.println("乘法运算失败");
        else if (test10081.calculate(4,10,10)!=1)
            System.out.println("除法运算失败");
        else if (test10081.calculate(5,25,10)!=5)
            System.out.println("求模运算失败");
        else System.out.println("全部通过测试!");

    }
}


可以看到全部通过测试

3. 实验过程中遇到的问题和解决过程

  • 问题1:测试代码不会编写
  • 问题1解决方案:将主函数与运算函数分离,在测试代码中只测试运算函数是否正确工作

其他(感悟、思考等)

一个最简单的小程序也需要程序员不少的心血,码农不易

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

  • 《Java程序设计与数据结构教程(第二版)》学习指导

posted @ 2020-10-09 16:53  显示昵称已被使用,害  阅读(117)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3