-1

好的,这是我的背景。我正在尝试创建一个接受输入并显示输出的页面。是的,容易吧?嗯,它比这复杂一点。首先,我试图为化学做这个。我正在研究阳离子和阴离子。可以在此处找到常见的简单列表。

我的目标是接受用户的输入,并根据该输入为他们提供适当的平衡方程和名称。可以在此处找到执行此操作的过程。

我需要做的第一件事是解析信息,以找出它是什么元素以及它具有什么电荷。我相信最好的方法是创建一个包含化学符号、名称和电荷的数组。

在确定阳离子和阴离子是什么之后,我将使用“十字交叉”方法来找到平衡电荷。从那里我需要查找每个离子的元素名称。完成此操作后,我找到与公式匹配的名称,然后在名称之前添加每个元素的数量。

当我尝试将所有这些信息组合成一个字符串时,我的第一个问题就出现了。如何将这三个字符串加在一起。

我的第二个问题部分来自解析,部分来自数组。当有更复杂的离子时首先有两个原因。我解析信息的方式是大写字母。当人们使用这些较大的离子时,这产生了相当小的问题,因为那时我必须处理相当数量的这些离子。或者当他们试图代表多个相同的化合物时。即他们写了类似这样的 Mg(ClO/4)/2 (我使用正斜杠来表示该类型元素的数量)。我需要确保我有两个 ClO/4。您会如何发现我首先正确解析它以获取元素?我将如何确保我保持笔直谁有多少?

4

2 回答 2

1

我相信你需要的是substr()函数。也就是说,您只想选择前 2、3 或任何字母。但是在您需要自定义缩写形式的情况下,您需要以关联数组或类似的形式提供它。

所以在数组里面你会有$myarray = ["name"=>"MagnesiumWhatever", "abbreviation"=>"Mg24xy"]

我认为您的 html 中还需要下标/上标字母

现在你有了如何做的链接。做一些研究。祝你好运。

于 2012-11-14T18:22:10.577 回答
0

这将不是一个简单的应用程序。您需要从元素、离子、分子等的综合列表开始,以及它们的属性和名称的变体。之后,您将不得不使用各种字符串函数将用户输入与该数据中的某些内容相匹配。

至于输出,您可以将 HTML/CSS 函数用于 sub/superscript (如 toninoj 提到的),对于更复杂的东西,您可能希望查看LaTeX

可能有整个大学课程都涵盖了这样的内容,而商业软件包正是这样做的。

于 2012-11-14T18:40:14.940 回答