日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

20145122《Java面向对象程序设计》实验二实验报告

發(fā)布時(shí)間:2023/12/13 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20145122《Java面向对象程序设计》实验二实验报告 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)驗(yàn)名稱: Java面向?qū)ο蟪绦蛟O(shè)計(jì)

實(shí)驗(yàn)內(nèi)容:

  • 初步掌握單元測(cè)試和TDD
  • 理解并掌握面向?qū)ο笕?#xff1a;封裝、繼承、多態(tài)
  • 初步掌握UML建模
  • 熟悉S.O.L.I.D原則
  • 了解設(shè)計(jì)模式

    PSP時(shí)間

    步驟耗時(shí)百分比
    需求分析1h12.5%
    設(shè)計(jì)1h12.5%
    代碼實(shí)現(xiàn)3h37.5%
    測(cè)試1h12.5%
    分析總結(jié)2h25.0%

    代碼實(shí)現(xiàn)過(guò)程

    直接使用老師實(shí)驗(yàn)課上給出的偽代碼。
    m_dRealPart: 實(shí)部,代表復(fù)數(shù)的實(shí)數(shù)部分
    m_dImaginPart: 虛部,代表復(fù)數(shù)的虛數(shù)部分
    ComplexNumber() 構(gòu)造函數(shù),將實(shí)部,虛部都置為0
    ComplexNumber(double r, double I) 構(gòu)造函數(shù),創(chuàng)建復(fù)數(shù)對(duì)象的同時(shí)完成復(fù)數(shù)的實(shí)部,虛部的初始化
    GetRealPart() 獲取實(shí)部
    GetImaginaryPart() 獲取虛部
    SetRealPart(double d) 設(shè)置實(shí)部
    SetImaginaryPart(double d) 設(shè)置虛部
    ComplexAdd(ComplexNumber c) 復(fù)數(shù)相加
    ComplexAdd(double c) 復(fù)數(shù)相加
    ComplexMinus(ComplexNumber c) 復(fù)數(shù)相減
    ComplexMinus(double c) 復(fù)數(shù)相減
    ComplexMulti(ComplexNumber c)  復(fù)數(shù)相乘
    ComplexMulti(double c)  復(fù)數(shù)相乘
    toString() 把當(dāng)前復(fù)數(shù)對(duì)象的實(shí)部,虛部組合成a+bi的字符串形式

  • 根據(jù)復(fù)數(shù)運(yùn)算的加減乘三個(gè)功能進(jìn)行代碼設(shè)計(jì)。敲出產(chǎn)品代碼

    package czy; public class complex { public static void main (String args[]) {ComplexNumber a = new ComplexNumber(20,10); ComplexNumber b = new ComplexNumber(5,5);double z = 10.0;System.out.println(a.toString() + " + " +b.toString() + " = " + a.complexAdd(b).toString()); System.out.println(a.toString() + " + " + z + " = " + a.complexAdd(z).toString());System.out.println(a.toString() + " - " + b.toString() + " = " + a.complexMinus(b).toString()); System.out.println(a.toString() + " - " + z + " = " + a.complexMinus(z).toString());System.out.println(a.toString() + " * " + b.toString() + " = " + a.complexMinus(b).toString()); System.out.println(a.toString() + " * " + z + " = " + a.complexMulti(z).toString());} }class ComplexNumber { private double realpart; private double imaginpart; ComplexNumber() {realpart = 0.0;imaginpart = 0.0; } ComplexNumber(double r,double I) {realpart = r;imaginpart = I; } ComplexNumber(ComplexNumber c) {realpart = c.getRealPart();imaginpart = c.getImaginaryPart(); } double getRealPart() {return realpart; } double getImaginaryPart() {return imaginpart; } void setRealPart(double d) {realpart = d; } void setImaginaryPart(double d) {imaginpart = d; } ComplexNumber complexAdd(ComplexNumber c) {return new ComplexNumber( this.realpart + c.getRealPart(), this.imaginpart + c.getImaginaryPart()); } ComplexNumber complexAdd(double c) {return new ComplexNumber( this.realpart + c, this.imaginpart); }ComplexNumber complexMinus(ComplexNumber c) {return new ComplexNumber( this.realpart - c.getRealPart(),this.imaginpart - c.getImaginaryPart()); } ComplexNumber complexMinus(double c) {return new ComplexNumber( this.realpart - c, this.imaginpart); }ComplexNumber complexMulti(ComplexNumber c) {return new ComplexNumber( this.realpart * c.getRealPart() - this.realpart * c.getImaginaryPart(),this.realpart * c.getImaginaryPart() + this.imaginpart * c.getRealPart()); } ComplexNumber complexMulti(double c) {return new ComplexNumber( this.realpart * c, this.imaginpart * c); }public String toString() {return "(" + realpart + " + " + imaginpart + " i" + ")";} }

    完成后進(jìn)行測(cè)試代碼:

    package czy; public class complextest {public static void main (String args[]){ComplexNumber a = new ComplexNumber(20,10);ComplexNumber b = new ComplexNumber(5,5);ComplexNumber x = new ComplexNumber();double z = 10.0;x = a.complexAdd(b);if(x.getRealPart() !=25.0 )System.out.println("test failed 1!");x = a.complexAdd(z);if(x.getRealPart() !=30.0 )System.out.println("test failed 11!");x = a.complexAdd(b);if( x.getImaginaryPart()!=15.0 )System.out.println("test failed 2!");x = a.complexAdd(z);if( x.getImaginaryPart()!=10.0 )System.out.println("test failed 22!");x = a.complexMinus(b);if( x.getRealPart()!=15.0 )System.out.println("test failed 3!");x = a.complexMinus(z);if( x.getRealPart()!=10.0 )System.out.println("test failed 33!");x = a.complexMinus(b);if( x.getImaginaryPart()!=5.0 )System.out.println("test failed 4!");x = a.complexMinus(z);if( x.getImaginaryPart()!=10.0 )System.out.println("test failed 44!");x = a.complexMulti(b);if( x.getRealPart() !=50.0 )System.out.println(x.getRealPart()+"test failed 5!");x = a.complexMulti(z);if( x.getRealPart() !=200.0 )System.out.println("test failed 55!");x = a.complexMulti(b); if( x.getImaginaryPart()!=150.0 )System.out.println("test failed 6!");x = a.complexMulti(z); if( x.getImaginaryPart()!=100.0 )System.out.println("test failed 66!");else System.out.println("test passed!"); }}class ComplexNumber{private double realpart;private double imaginpart;ComplexNumber(){realpart = 0.0;imaginpart = 0.0;}ComplexNumber(double r,double I){realpart = r;imaginpart = I;}ComplexNumber(ComplexNumber c){realpart = c.getRealPart();imaginpart = c.getImaginaryPart();}double getRealPart(){return realpart;}double getImaginaryPart(){return imaginpart;}void setRealPart(double d){realpart = d;}void setImaginaryPart(double d){imaginpart = d;}ComplexNumber complexAdd(ComplexNumber c){return new ComplexNumber( this.realpart + c.getRealPart(), this.imaginpart + c.getImaginaryPart());}ComplexNumber complexAdd(double c){return new ComplexNumber( this.realpart + c, this.imaginpart);}ComplexNumber complexMinus(ComplexNumber c){return new ComplexNumber( this.realpart - c.getRealPart(),this.imaginpart - c.getImaginaryPart());}ComplexNumber complexMinus(double c){return new ComplexNumber( this.realpart - c, this.imaginpart);}ComplexNumber complexMulti(ComplexNumber c){return new ComplexNumber( this.realpart * c.getRealPart() - this.realpart * c.getImaginaryPart(),this.realpart * c.getImaginaryPart() + this.imaginpart * c.getRealPart());}ComplexNumber complexMulti(double c){return new ComplexNumber( this.realpart * c, this.imaginpart * c );}public String toString(){return "(" + realpart + " + " + imaginpart + " i" + ")";} }

    運(yùn)行的時(shí)候出現(xiàn)了問(wèn)題!

    找到出錯(cuò)的地方,將關(guān)于復(fù)數(shù)乘法的代碼改為:

    ComplexNumber complexMulti(ComplexNumber c) { return new ComplexNumber( this.realpart * c.getRealPart() - this.imaginpart * c.getImaginaryPart(), this.realpart * c.getImaginaryPart() + this.imaginpart * c.getRealPart()); }

    成功!

    實(shí)驗(yàn)問(wèn)題和解決方法

    實(shí)驗(yàn)過(guò)程關(guān)于復(fù)數(shù)算法出現(xiàn)了一些錯(cuò)誤,但寫(xiě)了測(cè)試代碼后成功進(jìn)行了修改。還有如果用debug的話可能方便一些。

    測(cè)試代碼的好處

    使用測(cè)試代碼后會(huì)減少程序出現(xiàn)的bug,在符合客戶需求的情況下使代碼更加完善,也能鍛煉我們的思維,增強(qiáng)我們認(rèn)真負(fù)責(zé)的意識(shí),一舉多得。

    轉(zhuǎn)載于:https://www.cnblogs.com/20145122chengzhiyin/p/5389253.html

    總結(jié)

    以上是生活随笔為你收集整理的20145122《Java面向对象程序设计》实验二实验报告的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。