/**
* 基本计算
* @param x
* @param y
* @param operator
* @return
*/
public static double account(double x, double y, String operator)
{
if(operator.equals(Operator.ADD))
{
return x + y;
}
else if(operator.equals(Operator.MINUS))
{
return x - y;
}
else if(operator.equals(Operator.MULTIPLY))
{
return x * y;
}
else if(operator.equals(Operator.DIVIDE))
{
return x / y;
}
return 0;
}
public static void main(String[] args)
{
String formula = "(1 + 3 * 2) / {[2 * ( 1 + 3)] - 3} - (3 * 2)";
//小中大括号正则匹配
String[] gh = {"\\(.*?\\)", "\\[.*?\\]", "\\{.*?\\}"};
//先计算小括号,再计算中括号,大括号
for(int i = 0; i < gh.length; i++)
{
Pattern pattern = Pattern.compile(gh[i]);
Matcher matcher = pattern.matcher(formula);
while(matcher.find())
{
//获得括号公式
String f = matcher.group();
//计算括号内公式
double value = accountFormula(f.replace(" ", ""), true);
//将计算的值放入原公式
formula = formula.replace(f, value + "");
}
System.out.println(formula);
}
//计算最后剩余公式
double value = accountFormula(formula, false);
System.out.println("结果:" + value);
}
/**
* 计算不包含括号的公式
* @param formula 公式
* @param isClearGh 是否去括号
* @return
*/
public static double accountFormula(String formula, boolean isClearGh)
{
if(isClearGh)
{
//去括号
formula = formula.substring(1, formula.length() - 1);
}
//计算乘除
formula = accountMultiplyAndDivide(formula);
//计算加减
double ret = accountMinusAndAdd(formula);
return ret;
}
分享到:
相关推荐
然而,在将项目打包成可执行的jar文件时,有时会遇到“找不到或无法加载主类 main”的错误。本文将详细讲解如何在IDEA中正确打包jar文件,并解决这个常见的问题。 首先,我们来理解这个问题的原因。当Java运行时...
抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包到当前使用的java.exe 命令的lib目录下的ext...
Java Application 程序的主类是包含 main() 方法的类,Java Applet 程序的主类是系统类 Applet 的派生子类。主类的类名就是这个 Java 源程序的文件名。 判断主类的方法是查看该类是否包含 main() 方法。如果该类...
Java程序的执行始于一个被称为“主类”的特殊类,其中包含`public static void main(String[] args)`方法。当JVM启动时,它会寻找并执行这个方法。如果JVM无法找到或加载这个类,就会抛出此错误。以下是一些可能导致...
1. **主类未包含main方法**:在Java中,每个可执行的Java应用程序都必须有一个包含public static void main(String[] args)签名的main方法。如果主类中没有这个方法,那么JVM(Java虚拟机)就无法找到程序的入口点,...
这是因为 Tomcat 服务器无法找到主类(Main Class),导致无法启动服务器。 解决方案 为了解决这个问题,我们可以按照以下步骤进行操作: 1. 打开 MyEclipse 8.5,进入 "Window" 菜单,选择 "Preferences"。 2. ...
java环境变量详解---找不到或无法加载主类
总结来说,要在Android Studio中运行包含`main()`函数的Java类,需要进行项目配置、修改Gradle设置、创建运行配置,并指定正确的主类。通过这种方式,你可以像在标准Java IDE中一样运行和调试Java代码。如果遇到问题...
2. **主类名称不正确** - **原因**:提供的类名与实际的类名不匹配。 - **解决方法**: - 确认在运行命令中使用的类名与源代码中的类名完全一致,包括大小写和包名。 - 检查是否正确地指定了完整的类名(包括包...
- `Main-Class`: 主类的全限定名称,即包名加类名。 - `Class-Path`: 项目运行时所需的其他jar包的路径。需要注意的是,路径之间使用空格分隔,并且路径必须是相对于JAR文件的位置。 - 如果`Class-Path`中的依赖项较...
主类是包含main方法的类,它是程序执行的起点。如果Java虚拟机(JVM)在JAR文件中找不到这个类,就会抛出上述错误。 ### 解决方案: #### 1. **确保JAR文件包含Main-Class属性** 最直接的方法是在JAR文件的...
找不到或无法加载主类org.jruby.Main。 原因是/usr/local/hbase/lib 目录下没有jruby-complete-1.7.19.jar文件.,下载本文件,解压缩后将jar文件直接添加到/usr/local/hbase/lib 目录下。
确保你的主类有一个`public static void main(String[] args)`方法,这是Java应用程序的入口点。如果没有这个方法,IDEA将无法找到主类。 4. **Maven配置**: 如果你的项目是Maven项目,`pom.xml`文件中的`...
在Java编程中,`主类`是程序的入口点,它包含了`public static void main(String[] args)`方法。当执行一个Java应用程序时,JVM(Java虚拟机)需要知道哪个类是主类,以便从该类开始执行。如果JVM无法找到主类,就会...
1. **缺少Main-Class属性**:在JAR文件的`META-INF/MANIFEST.MF`文件中未正确声明主类(即包含`main`方法的类)。 2. **环境配置问题**:Java运行环境(JRE/JDK)的路径配置不正确或缺失。 3. **文件关联设置问题**...
用户可以在运行Java程序时通过命令行传递这些参数,例如`java MyClass arg1 arg2`,其中`arg1`和`arg2`会作为数组`args`的元素传入Main方法。 4. **能否重载Main方法?** 是的,你可以定义多个Main方法,但JVM只会...
当我们在命令行使用`java`命令运行一个类时,JVM会根据类路径来定位包含主类(通常标记为`public static void main(String[] args)`的方法的类)的`.class`文件。 1. **类路径配置**: - 在类路径中,当前目录(`....