導航:首頁 > 編程語言 > java兩多項式相加

java兩多項式相加

發布時間:2023-05-25 22:02:09

『壹』 Java數據結構編程題目

自己參考下吧,希望對你有用!

//用單鏈表來實現多項式的加法,代碼如下
public class Polynomial {
private Monomial first; // 首項

// 添加單項式

public void append(Monomial monomial) {
if (monomial == null) {
// do nothing
} else if (first == null) {
first = monomial;
} else {
Monomial current = first;
while (current != null) {
// 提示:如果指數相同,則相加
if (current.index == monomial.index) {
current.coefficient += monomial.coefficient;
break;
} else if (current.next == null) { // 否則直接把此項扔到最後
current.next = monomial;
break;
}
current = current.next;
}
}
}

public void append(int c, int i) {
append(new Monomial(c, i));
}

public String toString() {//toString()方法就是把對象轉換成String類型
//比如一個Integer對象的toString方法就是把這個對象表示的整數轉化成字元串,133就成了"133"。
StringBuffer sb = new StringBuffer();
Monomial current = first;
while (current.next != null) {
sb.append("(" + current.coefficient + "x^" + current.index
+ ") + ");
current = current.next;
}
sb.append("(" + current.coefficient + "x^" + current.index + ")");
return sb.toString();
}

// 兩個多項式相加
public Polynomial add(Polynomial p2) {
Polynomial result = new Polynomial();
Monomial current = this.first;
while (current != null) {
result.append(current.coefficient, current.index); // 提示:注意這里
current = current.next;
}
current = p2.first;
while (current != null) {
result.append(current.coefficient, current.index);
current = current.next;
}
return result;
}

public static void main(String[] args) {
//構造多項式p1的每一項
Polynomial p1 = new Polynomial();
p1.append(3, 4);
p1.append(-6, 2);
p1.append(5, 1);
p1.append(-10, 0);
System.out.println("p1: " + p1);
//構造多項式p2的每一項
Polynomial p2 = new Polynomial();
p2.append(2, 5);
p2.append(-6, 2);
p2.append(5, 1);
System.out.println("p2: " + p2);
Polynomial result = p1.add(p2);
System.out.println("p1+p2= " + result);
}
}

/**
* 這是一個內部類
* 單項式的表示
*/
class Monomial {
int coefficient; // 系數
int index; // 指數
Monomial next; // 後繼結點

public Monomial() {
}

public Monomial(int c, int i) {
this.coefficient = c;
this.index = i;
}
}

閱讀全文

與java兩多項式相加相關的資料

熱點內容
不用網路載入的單機游戲有哪些 瀏覽:608
數據線插頭怎麼接頭 瀏覽:577
網路載入視頻失敗是怎麼回事 瀏覽:805
傳奇賬號在哪個文件夾里 瀏覽:346
百度app在哪裡安裝 瀏覽:587
如何設置路由器網路不斷網 瀏覽:471
傳到qq群里的文件怎麼刪除 瀏覽:861
索尼安卓71更新日誌 瀏覽:234
怎麼找手機里的垃圾app 瀏覽:540
2015藍橋杯代碼填空 瀏覽:698
安卓資料庫dbexecSQL 瀏覽:227
doc重命名文件格式 瀏覽:728
getscreen截圖工具下載 瀏覽:719
共識數據是什麼時候開始的 瀏覽:96
數碼管顯示電壓程序 瀏覽:479
資料庫文件有哪個 瀏覽:543
途強儲存在哪個文件夾 瀏覽:172
如何恢復被覆蓋文件 瀏覽:611
iphone5用哪個版本最好 瀏覽:327
extjsgrid禁用 瀏覽:426

友情鏈接