我正在制作英语计算器,例如,当字符串为“1加2”时,我使用拆分将单词拆分为3个部分。分裂元素是1&加上& 2,最后一项工作就是添加数字。当我使用Switch时,它运行良好,但是我尝试使用For方法进行练习,并且打印出0.0为“1加2”句子...我认为arraylist中存在问题,但没有人问...我可以请了解如何修复它?
另外,我想知道,例如,说String是“4除以2”。元素是四,但问题是,我怎样才能将两个单词“分开”同时分开?谢谢!
class Calculator {
public static double calculate(String s) {
List<String> list = new ArrayList<>(Arrays.asList(s.split(" ")));
//System.out.println(list.size());
double value1, value2;
double result = 0.0;
String operator;
int i = 0;
for(i = 0; i < list.size(); i++)
{
if(list.size() == 3)
{
operator = list.get(1);
value1 = Double.parseDouble(list.get(0));
value2 = Double.parseDouble(list.get(2));
if(operator == "plus")
{
result = value1 + value2;
} else if(operator == "minus")
{
result = value1 - value2;
} else if(operator == "times")
{
result = value1 * value2;
} else if(operator == "mod")
{
result = value1 % value2;
}
}
}
return result;
}
}
class MyPractice
{
public static void main(String[] args)
{
Calculator cal = new Calculator();
System.out.println(cal.calculate("1 plus 2"));
}
}