Skip to main content
 首页 » 编程设计

java之将化学式转换为其 iupac 名称

2024年05月22日49mq0036

我有一个用 java 编写的元素周期表,我正在努力创建简单的化合物(仅二元化合物)并返回有关它们的信息,但我在将化学式转换为 IUPAC 名称时遇到了问题。我对其进行了设置,以便人们可以单击元素周期表上的一个元素,然后单击另一个元素,然后会弹出一个窗口,显示可以从这两个元素创建的可能化合物。这些化合物将显示为化学式,例如 CO2 或 CH4。我希望能够将某人选择的化合物的化学式转换为 iupac 名称,以便它可以与其他信息一起显示。

我尝试使用化学开发工具包,但老实说,我不太了解如何使用它,即使它可以用于解决我的问题也是如此。它让我手动输入债券类型,这似乎比我应该讨价还价的要多得多。

例如: CO2产生二氧化碳,CH4产生甲烷。

请您参考如下方法:

It makes me put in the bond types manually, which seems like a ton more work than I should be bargaining for.

这是不可避免的。 IUPAC 名称基于化合物的结构特性,而不是其分子式。大多数重要的化学式都有许多可能的结构异构体——例如,C5H12n-戊烷、甲基丁烷、和 2,2-二甲基丙烷。如果不先了解结构,就无法选择其中一个名称。

作为替代方案,您可能需要考虑编写一个工具,用于将结构式(例如,以 SMILES 格式)转换为 IUPAC 名称。这也不是一项微不足道的任务,但至少在算法上是可行的。