2012-11-14 55 views
-1

好的,這是我的背景。我正在嘗試創建一個輸入並顯示輸出的頁面。容易吧?那麼它比這更復雜一點。首先我想爲化學做這個。我正在與陽離子和陰離子。一個簡單的常見列表可以找到here如何將輸入的某些部分與輸出匹配

我的目標是接受用戶的輸入,並根據該輸入給他們適當的平衡方程和名稱。這樣做的過程可以找到here

我需要做的第一件事是解析信息,以便找出它是什麼元素以及它有什麼收費。我相信最好的方法是創建一個包含化學符號,名稱和電荷的數組。

確定什麼是陽離子和陰離子後,我會做「十字交叉」的方法找到平衡電荷。從那裏我需要查看每個離子的元素名稱。做完這些後,我找到與公式匹配的名稱,然後在名稱前添加每個元素的數量。

當我試圖將所有這些信息組合成一個字符串時,我的第一個問題就出現了。我如何將這三個字符串添加到一起。

我的第二個問題部分來自解析,部分來自數組。當有更復雜的離子時,首先有兩個原因。我解析信息的方式是用大寫字母。當人們使用這些更大的離子時,這就產生了很小的問題,因爲那時我必須處理相當數量的這些離子。或者當他們嘗試代表多個相同的化合物時。 IE他們寫這樣的Mg(ClO/4)/ 2(我用正斜槓來表示這種類型的元素的數量)。我需要確保我有兩個ClO/4。你會如何發現我首先正確解析這些以獲取元素?我該如何確保我保持直線,誰擁有多少?

回答

0

這不會是一個簡單的應用程序。您將需要從元素,離子,分子等的綜合列表開始,以及它們的屬性和名稱變體。之後,您將不得不使用各種string functions來將用戶輸入與該數據中的某些內容匹配。

至於輸出,你可以使用HTML/CSS函數的sub/superscript像toninoj提到的,爲更復雜的東西,你可能會想看看LaTeX

有可能是整個大學課程涵蓋這樣的事情,和商業軟件包完全是這樣。

+0

我有清單,但事情是我無法弄清楚我需要哪些字符串,以及我需要如何使用它們,我知道的那些字符串不會幫助我。 – Griffin

1

我相信你需要的是substr()函數。也就是說,你只是想選擇第2,3或任何字母。 但是在需要自定義縮寫形式的情況下,您需要以associative array或類似的形式提供它。

所以數組內,你將有$myarray = ["name"=>"MagnesiumWhatever", "abbreviation"=>"Mg24xy"]

我想你也將需要subscript/superscript letters在你的HTML。

現在你有鏈接如何做到這一點。做一點研究。祝你好運。

+0

我在html中遇到的下標/上標數字的問題並不是我的代碼不能接受它,而是用戶輸入它更困難。 – Griffin