public class Rule
{
    public Rule (String number, char[] ruleOneList, char[] ruleTwoList)
    {
        _number = Integer.valueOf(number);
        
        _ruleOne = new int[ruleOneList.length];

        for (int i = 0; i < _ruleOne.length; i++)
            _ruleOne[i] = Character.getNumericValue(ruleOneList[i]);

        if (ruleTwoList != null)
        {
            _ruleTwo = new int[ruleTwoList.length];

            for (int j = 0; j < _ruleOne.length; j++)
                _ruleTwo[j] = Character.getNumericValue(ruleTwoList[j]);
        }
        else
            _ruleTwo = null;
    }

    public final int getNumber ()
    {
        return _number;
    }

    private int _number;
    private int[] _ruleOne;
    private int[] _ruleTwo;
}
@@ -45,20 +45,22 @@
 number, 
-char
+String
 %5B%5D ruleO
@@ -71,12 +71,14 @@
 st, 
-char
+String
 %5B%5D r
@@ -276,33 +276,23 @@
 %5D = 
-Character.getNumericV
+Integer.v
 alue
+Of
 (rul
@@ -490,33 +490,23 @@
 %5D = 
-Character.getNumericV
+Integer.v
 alue
+Of
 (rul

Update Rule.java