package pcc.chemicraft.util;
import java.util.ArrayList;
-import java.util.List;
import pcc.chemicraft.ChemiCraftData;
{
char[] var2 = par1.toCharArray();
String var3 = null;
- int var4 = 1;
- Formula var5 = null;
+ int var4 = 0;
+ int var5 = 1;
+ Formula var6 = null;
for (int i = 0; i < var2.length; i++)
{
if (Character.isLetter(var2[i])){
if (Character.isUpperCase(var2[i])){
+ if (var4 < 0){
+ var4 = 1;
+ }
if (var3 != null)
{
- this.setAtom(var3, var4);
- } else if (var5 != null) {
- this.setAtoms(var5.getAtoms(), var5.getAmonts(), var4);
- var5 = null;
+ this.setAtom(var3, var4 * var5);
+ } else if (var6 != null) {
+ this.setAtoms(var6.getAtoms(), var6.getAmonts(), var4 * var5);
+ var6 = null;
}
var3 = Character.toString(var2[i]);
} else {
var3 = var3.concat(Character.toString(var2[i]));
}
+ var4 = 0;
} else if (Character.isDigit(var2[i])) {
- if (var3 != null)
- {
- this.setAtom(var3, var4 * Integer.valueOf(Character.toString(var2[i])));
- } else if (var5 != null) {
- this.setAtoms(var5.getAtoms(), var5.getAmonts(), Integer.valueOf(Character.toString(var2[i])));
- var5 = null;
+ if (var3 != null || var6 != null) {
+ var4 = var4 * 10 + Integer.valueOf(Character.toString(var2[i]));
} else {
- var4 = Integer.valueOf(Character.toString(var2[i]));
+ var5 = Integer.valueOf(Character.toString(var2[i]));
}
- var3 = null;
} else if (var2[i] == '・') {
if (var3 != null)
{
- this.setAtom(var3, var4);
- } else if (var5 != null) {
- this.setAtoms(var5.getAtoms(), var5.getAmonts(), var4);
+ this.setAtom(var3, var4 * var5);
+ } else if (var6 != null) {
+ this.setAtoms(var6.getAtoms(), var6.getAmonts(), var4 * var5);
}
var3 = null;
- var4 = 1;
- var5 = null;
+ var4 = 0;
+ var5 = 1;
+ var6 = null;
} else if (var2[i] == '(') {
if (var3 != null)
{
- this.setAtom(var3, var4);
+ this.setAtom(var3, var4 * var5);
var3 = null;
+ var4 = 1;
}
- int var6 = par1.indexOf(')');
- String var7 = par1.substring(i + 1, var6);
- var5 = new Formula(var7);
- i = var6;
+ int var7 = par1.indexOf(')');
+ String var8 = par1.substring(i + 1, var7);
+ var6 = new Formula(var8);
+ i = var7;
} else {
throw new IllegalArgumentException();
}
}
if (var3 != null)
{
- this.setAtom(var3, var4);
+ this.setAtom(var3, var4 * var5);
}
}