外媒:紫光集團執行副總裁高啟全五年合約期滿,已經離職
阿新 • • 發佈:2020-10-02
仿照BigDecimal類以面向物件的方式設計有理數類。
-
給出你的有理數類的程式碼。
package rational; public class Rational { private int Numerator;//分子 private int Denominator;//分母 public Rational(int Numerator, int Denominator) { //建構函式 this.Numerator=Numerator; this.Denominator=Denominator; }
-
給出你的測試程式碼。要在與有理數類不同包的其他類中呼叫有理數類。
import java.util.Scanner; import rational.Rational; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("輸入兩個數字構成有理數分數"); Rational a = new Rational(in.nextInt(), in.nextInt()); System.out.println("輸入兩個數字構成有理數分數"); Rational b = new Rational(in.nextInt(), in.nextInt()); System.out.println("兩個有理數相加結果"); System.out.println(a.addition(b)); System.out.println("兩個有理數相減結果"); System.out.println(a.subtraction(b)); System.out.println("兩個有理數相乘結果"); System.out.println(a.multiplication(b)); System.out.println("兩個有理數相除結果"); System.out.println(a.division(b)); System.out.println("比較兩個有理數大小結果:大於輸出1,等於輸出0,小於輸出-1"); System.out.println(a.compareTo(b)); System.out.println("將第一個有理數轉換成字串型"); System.out.println(a.toString()); System.out.println("將第一個有理數轉換成double型"); System.out.println(a.doubleValue()); System.out.println("將第一個有理數轉換成int型"); System.out.println(a.intValue()); System.out.println("將第一個有理數轉換成long型"); System.out.println(a.longValue()); } }
-
嘗試描述怎麼與c語言的有理數程式碼相比較,為什麼你設計的類更加面向物件?c語言程式碼是依據於函式的,主要是通過過程來實現,類將功能以方法形式寫出,而在使用時將類匯入即可,更加方便
-
嘗試從程式碼複用的角度來描述你設計的有理數類。從幾個方面討論。
-
別人如何複用你的程式碼 ? 匯入rational包
-
別人的程式碼是否依賴你的有理數類的屬性?當你的有理數類的屬性修改時,是否會影響他人呼叫你有理數類的程式碼?是的,有理數屬性更改在一定程度上會影響呼叫我有理數的除了public類的程式碼。
-
有理數類的public方法是否設定合適?為什麼有的方法設定為private? 有些屬性不想被他人訪問可以設定為private類