我正在尝试制作一个程序,让您输入任何一步式,并解决它。为了使它能以任何方式输入,我有一个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);
}
}
}
有谁看到我做错了什么?
答案 0 :(得分:3)
如果数字是100? 1000? 10000? ......你明白了。你不能简单地检查前面的一个角色。您应该通过您支持的操作(即+
,-
,*
等)分离您的解析,并且获取数字会更容易。