Java 想编程计算器,想把字符串变成实数运算符

Java 想编程计算器,想把字符串变成实数运算符,java,Java,我想编写一个简单的计算器,并且已经得到了一些代码。但是现在我想把我得到的字符串变成一个操作符。例如: 我的输入是:“1,5-1,1+3,2=” 现在我有一个双数组和一个字符串数组。 在这之后,我想把它放在一起,它会计算这个完整的任务 double result = double[0] String[0] double[1] .... 我希望你能帮忙,我为我的语法等道歉,英语不是我的主要语言 import java.util.*; public class calculator {

我想编写一个简单的计算器,并且已经得到了一些代码。但是现在我想把我得到的字符串变成一个操作符。例如:

我的输入是:“1,5-1,1+3,2=” 现在我有一个双数组和一个字符串数组。 在这之后,我想把它放在一起,它会计算这个完整的任务

double result = double[0] String[0] double[1] ....
我希望你能帮忙,我为我的语法等道歉,英语不是我的主要语言

import java.util.*;
public class calculator 
{

       public static void main(String[] args) 
       {
             int a = 0;
             int b = 0;
             double[] zahl;
             zahl = new double[10];
             double ergebnis;
             String[] zeichen;
             zeichen = new String[10];

             Scanner input = new Scanner (System.in);

             while (input.hasNext())
             {
                    if (input.hasNextDouble())
                    {
                           zahl[a] = input.nextDouble();
                           a++;
                    }
                    else if (input.hasNext())
                    {
                           zeichen[b] = input.next();
                           if (zeichen.equals ("=")) break;
                           b++;
                    }

             }
             input.close();




       }

}

如果我输入:“1,5+2,3*4,2=”我想得到行前有点而没有.math的结果,你要做的是解析一个字符串并将其转换成一个数学表达式,然后解析并输出结果。为此,您需要定义一种“语言”,并有效地编写一个解释器。这不是小事,特别是如果您想用括号之类的方法扩展语法

你必须回答的主要问题是,你是否想使用解决方案(因为你不是第一个尝试这个的人),或者你是否真的想自己写这个。 有一些“简单”的解决方案,例如,您可以用Java实例化javascript引擎并输入字符串,但这将允许更多,甚至是您不想要的东西。或者你可以使用一个已经这样做的库。此线程已经回答了一个类似的问题,并给出了多个有趣的答案:


否则,您可能会感到意外,因为您正在投入大量的工作。:)

据我所知,你不能那样做。您可以使用
开关大小写
语句,并根据用户给出的符号,进行加法或减法运算,…那么,到目前为止您尝试了什么?这方面应该有很多教程。由于运算符的优先级,您不能只解析字符串并执行命令,因此您可能需要构建类似于抽象语法树的东西。这里有一些关于如何解析这些表达式的更多信息:我是java新手,所以我不知道如何如此容易地获得这些信息。大部分我都不懂。从字符串中得到一个结果不是一件容易的事。可以帮助您解析和计算结果的是,如果您是Java新手(我怀疑您一般都是编程新手),那么我建议您先从更简单的任务开始,并获得一些知识。