首页 > 编程语言 > 详细

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

时间:2019-04-21 22:55:38      阅读:136      评论:0      收藏:0      [点我收藏+]

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

技术分享图片

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

原文:https://www.cnblogs.com/seven-moon/p/10747258.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!