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

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

1.实验内容

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

2. 实验过程及结果

(1)编写简单的计算器,完成加减乘除模运算,并实现循环


计算器代码:


public class calculator {
    public static void main(String[] args) {
        String string;
        Scanner scan =new Scanner(System.in);
        char op;
        double num1, num2;
        int choice;
        do {
            System.out.println("Please choose the type of operation:");
            string=scan.next();
            op = string.charAt(0);
            System.out.println("Please input the num1 and num2");
            num1=scan.nextDouble();
            num2=scan.nextDouble();
            switch (op) {
                case '+':
                {System.out.println("num1+num2=" + (num1+num2));break;}
                case '-':
                {System.out.println("num1-num2=" + (num1-num2));break;}
                case '*':
                {System.out.println("num1*num2=" + (num1*num2));break;}
                case '/':
                {System.out.println("num1/num2=" + (num1/num2));break;}
                case '%':
                {System.out.println("num1%num2=" + (num1%num2));break;}

            }
            System.out.println("if you want to continue,please enter 1");
            choice=scan.nextInt();
        }while(choice==1);
    }
}

(2)编写测试代码并进行验证

测试代码

import junit.framework.TestCase;
import org.junit.Test;

public class calculatorTest extends TestCase {
    @Test
    public void testAdd() throws Exception{
        assertEquals(15,1+14);
        assertEquals(56,36+20);
    }
    @Test
    public void testSub() throws Exception{
        assertEquals(3,21-18);
        assertEquals(4,6-2);
    }
    @Test
    public void testMti() throws Exception{
        assertEquals(72,9*8);
        assertEquals(69,3*23);
    }
    @Test
    public void testDiv() throws Exception{
        assertEquals(9,54/6);
        assertEquals(4,28/7);
    }

}

(3)上传码云

码云链接:https://gitee.com/besti1923/yang-jianing-20192303/commit/f9044f3b5db8848f173634124fe8433869d41a21

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

  • 问题1:不了解如何用JAVA输入字符
  • 问题1解决方案:使用op = string.charAt(0);截取第一个字符

其他(感悟、思考等)

1、实验之前做好充分的预习可以达到事半功倍的效果
2、在编写代码之前要对代码的整体框架有一个构想
3、通过这次实验发现自己对课本内容掌握的还不够扎实,应加强练习

参考资料

posted @ 2020-10-11 15:55  20192303杨佳宁  阅读(113)  评论(0编辑  收藏  举报