我對編程還很陌生,所以我很抱歉如果我讓你面對手掌。Java string arrayList:按降序排列元素(如數學中的多項式)
現在,我試圖在Java中創建括號擴展器。目前的程序已經可以擴大括號,但它不能簡化結果,因爲這些術語不是按降序排列的。我明白你可以嘗試添加這些術語,而不必通過比較每個元素中包含的變量來對它們進行重新排序。但是,我希望程序像「人」一樣「展示作品」,所以我需要按降序排列條款。
爲此,我想創建一個方法,給定一個字符串arrayList,重新排列元素,使其在數學中的多項式降序排列。
如果任何變量都有指數,則該變量只是重複到指數的數字。 例如:
X^2 = XX,
a^3 = aaa,
Z^5 = ZZZZZ
此外,不會有負指數也不括號。 所有元素開頭都有+或 - (之後沒有其他操作符)。 所有元素都有一個係數,即使它是1. 大寫字母比小寫字母的重要性要高,只有數字的元素應該重新定位到最後。
我忘記了那個數學詞,但是這些詞應該按照A的利益排序,然後B以此類推,直到Z,然後是a,b,c,...等等(我的意思是,術語大多數A來第一,B第二,C第三...直到z)
係數和運算符應該被忽略。
例如,如果輸入的是這樣的:
[-1b,+3XX,-4AA,+1aaa,+20CCa,-9ABa,-9ABaa,+20CCCa,+3BBX,+1aab,+10]
然後我想該方法返回的ArrayList中,如:
[-4AA,-9ABaa,-9ABa,+3BBX,+20CCCa,+20CCa,+3XX,+1aaa,+1aab,-1b,+10]
我非常堅持在這裏。任何幫助將不勝感激。如果我沒有足夠清楚地描述我的問題,請告訴我。我會澄清。
我相信wolfram alpha已經有括號擴展功能。但是,我仍然想要做到這一點。
如果有人能幫助我,這將是驚人的。提前致謝!
對不起,我在arrayList的例子中有一個錯誤...現在它應該被修復 – Vizor
到目前爲止,你有什麼代碼,即使它不工作? –
我完全不理解你的問題,但在我的理解中,它看起來像你只是想根據某種排序關係對列表進行排序。爲此,請查看[Comparator](https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html)和[Collections.sort](https://docs.oracle.com .com/javase/8/docs/api/java/util/Collections.html) – lwi