2018-2019-2 20175328李欣穎實驗二《Java面向對象程序設計》實驗報告
阿新 • • 發佈:2019-04-22
sse urn aci 程序 tchar https 模式 stl nta
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面向對象程序設計》實驗報告