zoukankan      html  css  js  c++  java
  • 2018-2019-2 20175328李欣颖实验二《Java面向对象程序设计》实验报告

    2018-2019-2 20175328李欣颖实验二《Java面向对象程序设计》实验报告

    面向对象程序设计-1##

    用程序解决问题时,要会写三种码:##

    1、伪代码###

    此处百分制转五分制:
    如果成绩小于0,转成“错误”
    如果成绩小于60,转成“不及格”
    如果成绩在60与70之间,转成“及格”
    如果成绩在70与80之间,转成“中等”
    如果成绩在80与90之间,转成“良好”
    如果成绩在90与100之间,转成“优秀”
    其他,转成“错误”输入代码
    

    2、产品代码###

    public class MyUtil{
       public static String percentage2fivegrade(int grade){
           //如果成绩小于0,转成“错误”
           if ((grade < 0))
               return "错误";
           //如果成绩小于60,转成“不及格”
           else if (grade < 60)
               return "不及格";
           //如果成绩在60与70之间,转成“及格”
           else if (grade < 70)
               return "及格";
           //如果成绩在70与80之间,转成“中等”
           else if (grade < 80)
               return "中等";
           //如果成绩在80与90之间,转成“良好”
           else if (grade < 90)
               return "良好";
           //如果成绩在90与100之间,转成“优秀”
           else if (grade < 100)
               return "优秀";
           //如果成绩大于100,转成“错误”
           else
               return "错误";
       }
    }
    

    3、测试代码###

    public class MyUtilTest {
        public static void main(String[] args) {
            //测试边界情况
            if(MyUtil.percentage2fivegrade(0) != "不及格")
                System.out.println("test failed 1!");
            else if(MyUtil.percentage2fivegrade(60) != "及格")
                System.out.println("test failed 2!");
            else if(MyUtil.percentage2fivegrade(70) != "中等")
                System.out.println("test failed 3!");
            else if(MyUtil.percentage2fivegrade(80) != "良好")
                System.out.println("test failed 4!");
            else if(MyUtil.percentage2fivegrade(90) != "优秀")
                System.out.println("test failed 5!");
            else if(MyUtil.percentage2fivegrade(100) != "优秀")
                System.out.println("test failed 6!");
            else 
                System.out.println("test passed!"); 
        }
    }
    

    面向对象程序设计-2##

    以 TDD的方式研究学习StringBuffer###

        import junit.framework.TestCase;
    import org.junit.Test;
    
    public class StringBufferDemoTest extends TestCase {
        StringBuffer a= new StringBuffer("StringBufferStr");
        StringBuffer b= new StringBuffer("StringBufferStringBufferStr");
        StringBuffer c= new StringBuffer("StringBufferStringBufferStringBufferStr");
    
        @Test
        public void testcharAt() throws Exception{
            assertEquals('t',a.charAt((1)));
            assertEquals('B',b.charAt(6));
            assertEquals('i',c.charAt(15));
        }
        @Test
        public void testcapacity() throws Exception{
            assertEquals(31,a.capacity());
            assertEquals(43,b.capacity());
            assertEquals(55,c.capacity());
        }
        @Test
        public void testlength() throws Exception{
            assertEquals(15,a.length());
            assertEquals(27,b.length());
            assertEquals(39,c.length());
        }
        @Test
        public void testindexOf() throws Exception{
            assertEquals(2,a.indexOf("ring"));
            assertEquals(6,b.indexOf("Bu"));
            assertEquals(9,c.indexOf("fer"));
        }
    }
    

    面向对象程序设计-3##

    对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式###

    让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确###

    增加代码1:####

    class Float extends Data {
        float value;
        Float() {
            value = 28;
        }
    

    增加代码2:####

    class FloatFactory extends Factory {
        public Data CreateDataObject() {
            return new Float();
        }
    }
    

    面向对象程序设计-4##

    以TDD的方式开发一个复数类Complex###

    要求:####

     // 定义属性并生成getter,setter
    double RealPart;
    double ImagePart;
    // 定义构造函数
    public Complex()
    public Complex(double R,double I)
    
    //Override Object
    public boolean equals(Object obj)
    public String toString()
    
    // 定义公有方法:加减乘除
    Complex ComplexAdd(Complex a)
    Complex ComplexSub(Complex a)
    Complex ComplexMulti(Complex a)
    Complex ComplexDiv(Complex a)
    

    代码

    面向对象程序设计-5##

  • 相关阅读:
    ubuntu下crontab启动,重启,关闭命令
    解决ubuntu16.04下boot空间不足的方法
    Go语言变量作用域
    Go语言函数
    xftp取消自动更新
    nginx下http如何转https访问
    mysql 5.7.22 zip安装
    微服务本机搭建
    微服务集成mybatis问题
    eclipse导入本地maven项目时,有的项目的结构是文件夹的机构
  • 原文地址:https://www.cnblogs.com/seven-moon/p/10747258.html
Copyright © 2011-2022 走看看