检查等式中的字符

时间:2012-06-18 16:00:06

标签: java char

我正在尝试制作一个程序,让您输入任何一步式,并解决它。为了使它能以任何方式输入,我有一个for循环运行,它检查每个字符以查看它是什么。但后来,我意识到我不能使用双位数字。所以我尝试添加一个小函数来检查右边是否有一个字符,以测试它是否是一个数字。如果它是一个数字,将它加上它找到的数字组合成一个数字。就像它看到1,并向右检查那里有0,它给你10.这是这个函数的代码

        Find = equation.charAt(i);

        if (Character.isDigit(Find))
        {
            if(Found == 0)
            {
                if(i < equation.length() - 1)
                {
                    FindNext = equation.charAt(i + 1);
                    if (Character.isDigit(FindNext))
                    {
                        one = (Character.toString(Find) + Character.toString(FindNext));
                        Found = 2;
                        One = Double.parseDouble(one);
                    }
                }
                else
                {
                    one = (Character.toString(Find));
                    Found = 2;
                    One = Double.parseDouble(one);
                }
            }
            else
            {
                if(i + 1 < equation.length() - 1)
                {
                    FindNext = equation.charAt(i + 1);
                    if (Character.isDigit(FindNext))
                    {
                        two = (Character.toString(Find) + Character.toString(FindNext));
                        Two = Double.parseDouble(one);
                    }
                }
                else
                {
                    two = (Character.toString(Find));
                    Two = Double.parseDouble(two);
                }
            }
        }

有谁看到我做错了什么?

1 个答案:

答案 0 :(得分:3)

如果数字是100? 1000? 10000? ......你明白了。你不能简单地检查前面的一个角色。您应该通过您支持的操作(即+-*等)分离您的解析,并且获取数字会更容易。