在java中制作英语计算器

时间:2017-08-07 11:20:08

标签: java arrays arraylist

我正在制作英语计算器,例如,当字符串为“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"));
    }
}

0 个答案:

没有答案