1. 程式人生 > 資訊 >歐洲央行已申請“數字歐元”商標

歐洲央行已申請“數字歐元”商標

一.有理數類程式碼

package cx;

public class Rational{

      private int numerator;//分子
      private int denominator;//分母

      public int getNumerator()//獲取分子
      {
          return this.numerator;
      }

      public int getDenominator()//獲取分母
      {
          return this.denominator;
      }

      public Rational (int numerator,int denominator)//建構函式
      {
          this.numerator = numerator;
          this.denominator = denominator;
      }

      public Rational add(Rational first,Rational second)//加法
      {
          int n = first.numerator * second.denominator + second.numerator * first.denominator;
          int d = first.denominator * second.denominator;
          return new Rational(n,d);
      }

      public Rational subtract(Rational first,Rational second)//減法
      {
          int n = first.numerator * second.denominator - second.numerator * first.denominator;
          int d = first.denominator * second.denominator;
          return new Rational(n,d);
      }

      public Rational multiply(Rational first,Rational second)//乘法
      {
          int n = first.numerator * second.numerator;
          int d = first.denominator * second.denominator;
          return new Rational(n,d);
      }

      public Rational divide(Rational first,Rational second)//除法
      {
          int n = first.numerator * second.denominator;
          int d = first.denominator * second.numerator;
          return new Rational(n,d);
      }

      public boolean equal(Rational first,Rational second) 
      {
          if ((first.numerator == second.numerator)&(first.denominator == second.denominator)) {
              return true;
          } 
          else {
              return false;
          }
      }

      public int intValue()//返回整數
      {
          return this.numerator / this.denominator;
      }

      public double doubleValue()//返回浮點數
      {
          return 1.0 * this.numerator / this.denominator;
      }

      public String toString()//返回字串
      {
          return this.numerator + "/" + this.denominator;
      }
  }

二.程式碼測試

package cx;

import java.util.*;

public class Main{
    public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
        Rational R;
        Rational a = new Rational(1, 2);
        Rational b = new Rational(3, 4);
	R= a.add(a, b);
	System.out.println("有理數加法的值是:"+R);
	R=a.subtract(a, b);
	System.out.println("有理數減法的值是:"+R);
	R=a.multiply(a, b);
	System.out.println("有理數乘法的值是:"+R);
	R=a.divide(a, b);
	System.out.println("有理數除法的值是: "+R);
	System.out.println(a.equal(a,b));//判斷兩分數是否相等
	System.out.println(a.intValue());//返回整數
	System.out.println(a.doubleValue());//返回浮點數
	System.out.println(a.toString());//返回字串
    }

執行結果

三.嘗試描述怎麼與c語言的有理數程式碼相比較,為什麼你設計的類更加面向物件?

c語言面向過程,面向過程設計的函式是來思考他能用來幹什麼的;java面向物件,大部分是可以直接呼叫的,在同一個包裡的另一個class裡直接用就可以了。

四.別人如何複用我的程式碼

只要匯入自己編寫的有理數類的包,就可以複用我的程式碼了

五.別人的程式碼是否依賴你的有理數類的屬性?當你的有理數類的屬性修改時,是否會影響他人呼叫你有理數類的程式碼?

會依賴我的有理數類的屬性;不會影響,因為我的有理數類的屬性為private型。

六.有理數類的public方法是否設定合適?為什麼有的方法設定為private?

合適,public成員可以被任何類訪問,private成員限於自己訪問。當方法設定為private型時,別的類就不能訪問改成員變數,只能通過public方法來訪問