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


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

    课程:《程序设计与数据结构》
    班级: 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解决方案:问朋友
    • ...

    其他(感悟、思考等)

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

    参考资料

  • 相关阅读:
    新 DAO 访问接口
    TCP/IP协议中的参数说明
    最近在制作一套ASP.NET控件,已初见雏形
    Creating a Dynamic UI with Knockout.js
    数据库性能优化数据库等待队列
    webpy框架
    .Net Web Http状态异常
    一步一步搭架子(完结篇)
    使用yshow分析前端页面性能
    代码混淆、加密
  • 原文地址:https://www.cnblogs.com/yk20192320/p/13781840.html
Copyright © 2020-2023  润新知