××代孕网一般多少

××代孕网一般多少█微/信 同号█:138★0226★9370█ ████XX代孕正规网█代孕包成功█ ★█代孕包男孩█ ★█

一、前期准备

    1. 熟悉三种代码的编写
    • 伪代码
    • 产品代码
    • 测试代码
    1. 学会 IDEA中配置单元测试工具JUnit
    • 打开IDEA,选择File->Setting打开设置对话框
    • 在设置对话框中选择Plugins, 单击Marketplace
    • 选择JUnitGenerator V2.0,点击Install安装

    • 安装好后可以在Installed里查看
    • 安装完成后,要开始配置。在IDEA中新建一个项目,然后新建一个空类MyUtil:
    • 鼠标右击类名,选择go to->test->Create New Test
    • 弹出一个对话框,选择JUnit3

    • 输入时junit可能会标红,可以双击标红处,点击红色灯泡导入需要的类。

二、实验内容

  • 任务一:对MyUtil类进行测试,测试用例至少要包含正常情况,错误情况,边界情况的测试。
  • 任务二:以TDD的方式研究学习StringBuffer,提交单元测试用例和测试通过的截图。
  • 任务三:
    • 对设计模式示例进行扩充,体会OCP原则和DIP原则的应用。
    • 让系统支持Boolean类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印。
  • 任务四:以TDD的方式开发一个复数类Complex。
  • 任务五:
    • 使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
    • 类图中至少两个类。
    • 类,继承,接口实现,组合在UML中表达。

三、实验步骤

  • 任务一

    • 伪代码:
    百分制转五分制:
    如果成绩小于60,转成“不及格”
    如果成绩在60与70之间,转成“及格”
    如果成绩在70与80之间,转成“中等”
    如果成绩在80与90之间,转成“良好”
    如果成绩在90与100之间,转成“优秀”
    其他,转成“错误” 
    • 产品代码:
    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 "错误"; } }
    • 测试代码:
import junit.framework.TestCase;
import org.junit.Test;

public class MyUtilTest extends TestCase { @Test public void testNormal() { assertEquals("不及格", MyUtil.percentage2fivegrade(55)); assertEquals("及格", MyUtil.percentage2fivegrade(65)); assertEquals("中等", MyUtil.percentage2fivegrade(75)); assertEquals("良好", MyUtil.percentage2fivegrade(85)); assertEquals("优秀", MyUtil.percentage2fivegrade(95)); } @Test public void testException(){ assertEquals("错误",MyUtil.percentage2fivegrade(-55)); assertEquals("错误",MyUtil.percentage2fivegrade(105)); } @Test public void testBoundary(){ assertEquals("不及格", MyUtil.percentage2fivegrade(0)); assertEquals("及格",MyUtil.percentage2fivegrade(60)); assertEquals("中等",MyUtil.percentage2fivegrade(70)); assertEquals("良好",MyUtil.percentage2fivegrade(80)); assertEquals("优秀",MyUtil.percentage2fivegrade(90)); assertEquals("优秀",MyUtil.percentage2fivegrade(100)); } }
  • 测试结果截图:

  • 任务二

    • 产品代码
     public class StringBufferDemo {
      StringBuffer buffer = new StringBuffer(); public StringBufferDemo(StringBuffer buffer) { this.buffer = buffer; } public Character charAt(int i) { return buffer.charAt(i); } public int capacity() { return buffer.capacity(); } public int length() { return buffer.length(); } public int indexOf(String buf) { return buffer.indexOf(buf); } }
    • 测试代码
import junit.framework.TestCase;
import org.junit.Test;

import static org.junit.Assert.*;

public class StringBufferDemoTest extends TestCase { StringBuffer a = new StringBuffer("StringBuffer"); StringBuffer b = new StringBuffer("StringBufferStringBuffer"); StringBuffer c = new StringBuffer("StringBufferStringBufferStringBuffer"); @Test public void testCharAt() throws Exception { assertEquals('S', a.charAt(0)); assertEquals('g', a.charAt(5)); assertEquals('r', a.charAt(11)); } @Test public void testcapacity() throws Exception { assertEquals(28, a.capacity()); assertEquals(40, b.capacity()); assertEquals(52, c.capacity()); } @Test public void testlength() throws Exception { assertEquals(12, a.length());//验证字符串a的长度 assertEquals(24, b.length()); assertEquals(36, c.length()); } @Test public void testindexOf() { assertEquals(6, a.indexOf("Buff")); assertEquals(5, b.indexOf("gBu")); assertEquals(10, c.indexOf("erS")); } }
  • 测试结果截图:

  • 任务三

    • 产品代码
     // Server Classes 
    abstract class Data { abstract public void DisplayValue(); } class Integer extends Data { int value; Integer() { value=100; } public void DisplayValue(){ System.out.println (value); } } // Pattern Classes abstract class Factory { abstract public Data CreateDataObject(); } class IntFactory extends Factory { public Data CreateDataObject(){ return new Integer(); } } //Client classes class Document { Data pd; Document(Factory pf){ pd = pf.CreateDataObject(); } public void DisplayData(){ pd.DisplayValue(); } } class Boolean extends Data { boolean flag; Boolean() { flag=true; } public void DisplayValue(){ System.out.println (flag); } } class BooleanFactory extends Factory { public Data CreateDataObject() { return new Boolean(); } } //Test class public class MyDoc { static Document d; public static void main(String[] args) { d = new Document(new IntFactory()); d.DisplayData(); d = new Document(new BooleanFactory()); d.DisplayData(); } }
    • 测试结果截图
  • 任务四

    • 产品代码
public class Complex {
    double RealPart; double ImagePart; public Complex() { } public Complex(double R, double I) { RealPart = R; ImagePart = I; } public boolean equals(Complex a) { if (a.RealPart == this.RealPart && a.ImagePart == this.ImagePart) { return true; } else { return false; } } public String toString() { if (this.RealPart != 0 && this.ImagePart > 0) { return this.RealPart + " + " + this.ImagePart + "i"; } else if (this.RealPart != 0 && this.ImagePart == 0) { return String.valueOf(this.RealPart); } else if (this.RealPart != 0 && this.ImagePart < 0) { return this.RealPart + " - " + -this.ImagePart + "i"; } else if (this.RealPart == 0 && this.ImagePart != 0) { return this.ImagePart + "i"; } else { return "0"; } } Complex ComplexAdd(Complex a) { return new Complex(this.RealPart + a.RealPart, this.ImagePart + a.ImagePart); } Complex ComplexSub(Complex a) { return new Complex(this.RealPart - a.RealPart, this.ImagePart - a.ImagePart); } Complex ComplexMulti(Complex a) { return new Complex(this.RealPart * a.RealPart - this.ImagePart * a.ImagePart, this.ImagePart * a.RealPart + this.RealPart * a.ImagePart); } Complex ComplexDiv(Complex a) { return new Complex((this.ImagePart * a.ImagePart + this.RealPart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart), (this.RealPart * a.ImagePart - this.ImagePart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart)); } }
  • 测试代码
import junit.framework.TestCase;

public class ComplexTest extends TestCase { Complex a = new Complex(3.0, 4.0); Complex b = new Complex(-2.0, -3.0); public void testEquals() { assertEquals(true, a.equals(a)); assertEquals(false, b.equals(a)); } public void testToString() { assertEquals("3.0 + 4.0i", a.toString()); assertEquals("-2.0 - 3.0i", b.toString()); } public void testComplexAdd() { assertEquals("1.0 + 1.0i",a.ComplexAdd(b).toString()); assertEquals("-4.0 - 6.0i",b.ComplexAdd(b).toString()); } public void testComplexSub() { assertEquals("5.0 + 7.0i",a.ComplexSub(b).toString()); assertEquals("0",b.ComplexSub(b).toString()); } public void testComplexMulti() { assertEquals("-7.0 + 24.0i",a.ComplexMulti(a).toString()); assertEquals("6.0 - 17.0i",a.ComplexMulti(b).toString()); } public void testComplexDiv() { assertEquals("1.0",a.ComplexDiv(a).toString()); } }
  • 测试结果截图:

  • 任务五
    • 类图截图

四、实验过程中遇到的问题及其解决

  • 1、使用Junit时junit标红
  • 解决方法:点击小灯泡导入junit类;

  • 2、在进行Junit配置时找不到juint.jarjuint-4.12.jar这两个包
  • 解决方法:向别人拷贝lib文件夹;

  • 3、如图,结果一样却显示不符合预期

  • 解决方法:点击查看对比详细不同,发现使用字符串+" "的方式转换字符串会多一个空格,改用'String.valueOf( )';

五、码云链接

链接

六、参考代码

    • Intellj IDEA 简易教程
    • 实验二《Java面向对象程序设计》的一点说明

猜你喜欢

转载自www.cnblogs.com/XXDAIYUN/p/10736202.html