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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java定义一个矩阵的类_java写入一个矩阵,如何编程求该矩阵的秩

發布時間:2024/9/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java定义一个矩阵的类_java写入一个矩阵,如何编程求该矩阵的秩 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

Fraction.java如下:(這個是網上找來的,處理分數的類)

// 支持查找功能的分數類

class Fraction implements Comparable {

// 分子

private int numerator;

// 分母

private int denominator;

// 默認構造函數

public Fraction() {

}

// 該構造函數對分子和分母進行初始化

public Fraction(int n, int d) {

setFraction(n, d);

}

// 該構造函數支持將雙精度數轉換為相應的分數

public Fraction(double d) {

convertToFraction(d);

}

// 該函數可以將雙精度數轉換為相應的分數

private void convertToFraction(double d) {

int decimalCount = 1;

// 求雙精度數的字符長度

int dLen = String.valueOf(d).length();

// 不斷的將雙精度數累乘10,直至轉換為整數為止

for (int i = 0; i < dLen; i++) {

d = d * 10;

decimalCount *= 10;

}

// 分子為最終的整數乘積結果

numerator = (int) d;

// 分母為10的累乘結果

denominator = decimalCount;

// 約分

reduct();

}

// 分子的設置函數,并且約分

public void setNumerator(int n) {

numerator = n;

reduct();

}

// 分子的讀取函數

public int getNumerator() {

return numerator;

}

// 分母的設置函數,并且約分

public void setDenominator(int d) {

// 檢查分母是否為0

if (d == 0)

denominator = 1; //建議采用異常

else

denominator = d;

reduct();

}

// 分母的讀取函數

public int getDenominator() {

return denominator;

}

// 分數的設置函數,并且約分

public void setFraction(int n, int d) {

setNumerator(n);

setDenominator(d);

reduct();

}

// 格式化字符信息輸出

public String toString() {

// 如果為負分數,則將負號提前顯示,分子和分母保留為正數,否則分子和分母皆取正數

if (numerator * denominator < 0)

return "-" + Math.abs(numerator) + "/" + Math.abs(denominator);

else

return Math.abs(numerator) + "/" + Math.abs(denominator);

}

// 利用對應小數值是否相同來判斷分數是否相同

public boolean equals(Fraction f) {

if (numerator == f.numerator && denominator == f.denominator)

return true;

else

return false;

}

// 利用對應小數值的大小來判斷分數的大小

public boolean isGreater(Fraction f) {

if ((double) numerator / denominator > (double) f.numerator

/ f.denominator)

return true;

else

return false;

}

// 約分函數

private void reduct() {

// 求分子和分母的最小值

int minValue = Math.min(Math.abs(numerator), Math.abs(denominator));

// 將小于分子和分母的最小值的數值,從大到小去除分子和分母,如果能夠同時被整除,則以此數值約分并退出

for (int i = minValue; i >= 1; i--) {

if (numerator % i == 0 && denominator % i == 0) {

numerator = numerator / i;

denominator = denominator / i;

break;

}

}

}

// 返回分數相加的結果,并且約分

public Fraction add(Fraction f) {

Fraction fraction = new Fraction();

fraction.numerator = numerator * f.denominator + f.numerator

* denominator;

fraction.denominator = denominator * f.denominator;

fraction.reduct();

return fraction;

}

// 返回分數相減的結果,并且約分

public Fraction minus(Fraction f) {

Fraction fraction = new Fraction();

fraction.numerator = numerator * f.denominator - f.numerator

* denominator;

fraction.denominator = denominator * f.denominator;

fraction.reduct();

return fraction;

}

// 返回分數相乘的結果,并且約分

public Fraction multiply(Fraction f) {

Fraction fraction = new Fraction();

fraction.numerator = numerator * f.numerator;

fraction.denominator = denominator * f.denominator;

fraction.reduct();

return fraction;

}

// 返回分數相除的結果,并且約分

public Fraction divide(Fraction f) {

Fraction fraction = new Fraction();

fraction.numerator = numerator * f.denominator;

fraction.denominator = denominator * f.numerator;

fraction.reduct();

return fraction;

}

// 支持兩個分數類變量的比較,以實現分數集合的查找功能

public int compareTo(Object o) {

Fraction f = (Fraction) o;

// 利用對應小數的大小來比較分數的大小

if ((double) numerator / denominator > (double) f.numerator

/ f.denominator)

return 1;

else if ((double) numerator / denominator < (double) f.numerator

/ f.denominator)

return -1;

else

return 0;

}

// 根據對應小數是否相同來判斷分數是否相同

public boolean equals(Object obj) {

Fraction f = (Fraction) obj;

if (Math.abs((double) numerator / denominator - (double) f.numerator

/ f.denominator) < 0.00001)

return true;

return false;

}

// 相同數值的分數返回相同的哈希碼

public int hashcode() {

String str = String.valueOf((double) numerator / denominator);

return str.hashCode();

}

}

總結

以上是生活随笔為你收集整理的java定义一个矩阵的类_java写入一个矩阵,如何编程求该矩阵的秩的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。