html中的特殊符號表示法
阿新 • • 發佈:2021-09-19
1.給出你的有理數類的程式碼。
package test1; public class Rational { private int Numerator;//分子 private int Denominator;//分母 public Rational(int Numerator, int Denominator) { //建構函式 this.Numerator=Numerator; this.Denominator=Denominator; } public int getNumerator() { //獲取分子 return Numerator; } public void setNumerator(int numerator) { Numerator = numerator; } public int getDenominator() { //獲取分母 return Denominator; } public void setDenominator(int denominator) { Denominator = denominator; } public Rational addition(Rational X) { //加法 int a=this.Numerator*X.Denominator+X.Numerator*this.Denominator; int b=this.Denominator*X.Denominator; return new Rational(a,b); } public Rational subtraction(Rational X) { //減法 int a=this.Numerator*X.Denominator-X.Numerator*this.Denominator; int b=this.Denominator*X.Denominator; return new Rational(a,b); } public Rational multiplication(Rational X) { //乘法 int a=this.Numerator*X.Numerator; int b=this.Denominator*X.Denominator; return new Rational(a,b); } public Rational division(Rational X) { //除法 int a=this.Numerator*X.Denominator; int b=this.Denominator*X.Numerator; return new Rational(a,b); } public int compareTo(Rational X) { //比較大小 if(this.subtraction(X).getNumerator()>0) return 1;//大於 else if(this.subtraction( X).getNumerator()==0) return 0;//等於 else return -1;//小於 } public String toString() { //轉換成String型,輸出Rational類預設轉換為該型 if(this.Denominator==1) return this.Numerator+" "; else return this.Numerator+"/"+this.Denominator; } public double doubleValue() { //轉換成double型 return 1.0*this.Numerator/this.Denominator; } public int intValue() { //轉換成int型 return (int)doubleValue(); } public long longValue() { //轉換成long型 return (long)doubleValue(); } }
2.給出你的測試程式碼。要在與有理數類不同包的其他類中呼叫有理數類。
package test1; import java.util.ArrayList; import java.util.Scanner; import java.util.Arrays; import java.util.List; import java.math.BigDecimal; import test1.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()); } }
3.嘗試描述怎麼與c語言的有理數程式碼相比較,為什麼你設計的類更加面向物件?
c語言程式碼是依據於函式的,主要是通過過程來實現,類將功能以方法形式寫出,而在使用時將類匯入即可,更加方便
4.嘗試從程式碼複用的角度來描述你設計的有理數類。從幾個方面討論。
4.1別人如何複用你的程式碼 ?
匯入test1包
4.2別人的程式碼是否依賴你的有理數類的屬性?當你的有理數類的屬性修改時,是否會影響他人呼叫你有理數類的程式碼?
是的,有理數屬性更改在一定程度上會影響呼叫我有理數的除了public類的程式碼。
4.3有理數類的public方法是否設定合適?為什麼有的方法設定為private?
有些屬性不想被他人訪問可以設定為private類