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

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

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

1.实验内容

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

2. 实验过程及结果

代码:

import java.util.Scanner;


public class easyCalculator {
    public float num1,num2;
    public String operate;
    public String command;


    public easyCalculator(float num1,float num2)
    {this.num1 = num1;
        this.num2=num2;
    }

    public easyCalculator(String operate,String command) {
        this.operate = operate;
        this.command=command;
    }

    public easyCalculator() {

    }

    public float add(float num1,float num2)
    {
        float result=num1+num2;
        return result;
    }
    public float sub(float num1,float num2)
    {
        float result=num1-num2;
        return result;
    }
    public float multi(float num1,float num2)
    {
        float result=num1*num2;
        return result;
    }
    public float div(float num1,float num2)
    {
        float result=num1/num2;
        return result;
    }

    public static void main(String[] args) {
        int way;
        float num1,num2,result=0;
        String operate;
        boolean command=true;
        Scanner scan=new Scanner(System.in);
        System.out.println("input the first number: ");
        num1=scan.nextFloat();
        while (command) {
            System.out.println("input the operate:");
            operate = scan.next();
            System.out.println("input the second number :");
            num2=scan.nextFloat();
            easyCalculator temp=new easyCalculator();
            if(operate.equals("+"))
            {
                result=temp.add(num1,num2);
            }
            else if(operate.equals("-"))
            {
                result=temp.sub(num1,num2);
            }
            else if(operate.equals("*"))
            {
                result=temp.multi(num1,num2);
            }
            else if(operate.equals("/"))
            { result=temp.div(num1,num2);}
            System.out.println(num1+operate+num2+"=="+result);
            System.out.println("go or out? go: 1.out:0 ");
            way=scan.nextInt();
            if(way==1){
                command=true;
                num1=result;

            }
            else command=false;

        }




    }}

测试代码:

public class easyCalculatorTest {


    public static void main(String[] args) {
        float num1=4;
        float num2=5;
        String operate;

        easyCalculator temp=new easyCalculator();

        float a=temp.add(num1,num2);
        float b=temp.sub(num1,num2);
        float c=temp.multi(num1,num2);
        float d=temp.div(num1,num2);

        if(a==9.0&&b==-1.0&&c==20.0)

            System.out.println("The test is passed");


        else
            System.out.println("The test is not passed");




    }}


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

  • 问题1:不太清楚测试代码的编写,以及再一开始使用了main来直接编写计算器,导致再测试代码中无法引用
  • 问题1解决方案:百度
  • 问题2:包和包之间的引用不清楚
  • 问题2解决方案:问朋友
  • ...

其他(感悟、思考等)

对于包的认识还不够深刻。还需要再平时更多的编写代码。这次对于测试代码不了解,应该提前预习。

参考资料

posted @ 2020-10-10 23:01  providence2320  阅读(111)  评论(0编辑  收藏  举报