`

主类Main2

F# 
阅读更多
/**
	 * 基本计算
	 * @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;
	}
分享到:
评论

相关推荐

    IDEA打包jar-解决找不到或无法加载主类 main的问题

    然而,在将项目打包成可执行的jar文件时,有时会遇到“找不到或无法加载主类 main”的错误。本文将详细讲解如何在IDEA中正确打包jar文件,并解决这个常见的问题。 首先,我们来理解这个问题的原因。当Java运行时...

    抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java

    抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包到当前使用的java.exe 命令的lib目录下的ext...

    简述Java程序的构成如何判断主类.doc

    Java Application 程序的主类是包含 main() 方法的类,Java Applet 程序的主类是系统类 Applet 的派生子类。主类的类名就是这个 Java 源程序的文件名。 判断主类的方法是查看该类是否包含 main() 方法。如果该类...

    错误:找不到或无法加载主类com.xxx.xxx.Application(完美解决)

    Java程序的执行始于一个被称为“主类”的特殊类,其中包含`public static void main(String[] args)`方法。当JVM启动时,它会寻找并执行这个方法。如果JVM无法找到或加载这个类,就会抛出此错误。以下是一些可能导致...

    解决 Can not find the main class. Program will exit. 难题

    1. **主类未包含main方法**:在Java中,每个可执行的Java应用程序都必须有一个包含public static void main(String[] args)签名的main方法。如果主类中没有这个方法,那么JVM(Java虚拟机)就无法找到程序的入口点,...

    Could not find the main class

    这是因为 Tomcat 服务器无法找到主类(Main Class),导致无法启动服务器。 解决方案 为了解决这个问题,我们可以按照以下步骤进行操作: 1. 打开 MyEclipse 8.5,进入 "Window" 菜单,选择 "Preferences"。 2. ...

    java环境变量详解---找不到或无法加载主类

    java环境变量详解---找不到或无法加载主类

    Android studio 运行main 函数的方法

    总结来说,要在Android Studio中运行包含`main()`函数的Java类,需要进行项目配置、修改Gradle设置、创建运行配置,并指定正确的主类。通过这种方式,你可以像在标准Java IDE中一样运行和调试Java代码。如果遇到问题...

    could not find the main class,program will exit

    2. **主类名称不正确** - **原因**:提供的类名与实际的类名不匹配。 - **解决方法**: - 确认在运行命令中使用的类名与源代码中的类名完全一致,包括大小写和包名。 - 检查是否正确地指定了完整的类名(包括包...

    Linux上执行带main方法的java文件

    - `Main-Class`: 主类的全限定名称,即包名加类名。 - `Class-Path`: 项目运行时所需的其他jar包的路径。需要注意的是,路径之间使用空格分隔,并且路径必须是相对于JAR文件的位置。 - 如果`Class-Path`中的依赖项较...

    WIN7下运行Jar文件提示Could not find the main class

    主类是包含main方法的类,它是程序执行的起点。如果Java虚拟机(JVM)在JAR文件中找不到这个类,就会抛出上述错误。 ### 解决方案: #### 1. **确保JAR文件包含Main-Class属性** 最直接的方法是在JAR文件的...

    jruby-complet-1.7.zip

    找不到或无法加载主类org.jruby.Main。 原因是/usr/local/hbase/lib 目录下没有jruby-complete-1.7.19.jar文件.,下载本文件,解压缩后将jar文件直接添加到/usr/local/hbase/lib 目录下。

    IDEA 错误之找不到或无法加载主类的问题

    确保你的主类有一个`public static void main(String[] args)`方法,这是Java应用程序的入口点。如果没有这个方法,IDEA将无法找到主类。 4. **Maven配置**: 如果你的项目是Maven项目,`pom.xml`文件中的`...

    下载好以后无法加载主类的解压这个文件到桌面就好了

    在Java编程中,`主类`是程序的入口点,它包含了`public static void main(String[] args)`方法。当执行一个Java应用程序时,JVM(Java虚拟机)需要知道哪个类是主类,以便从该类开始执行。如果JVM无法找到主类,就会...

    win7 解决导出jar包提示 can not find the main class

    1. **缺少Main-Class属性**:在JAR文件的`META-INF/MANIFEST.MF`文件中未正确声明主类(即包含`main`方法的类)。 2. **环境配置问题**:Java运行环境(JRE/JDK)的路径配置不正确或缺失。 3. **文件关联设置问题**...

    10个Java经典的Main方法面试题!.zip

    用户可以在运行Java程序时通过命令行传递这些参数,例如`java MyClass arg1 arg2`,其中`arg1`和`arg2`会作为数组`args`的元素传入Main方法。 4. **能否重载Main方法?** 是的,你可以定义多个Main方法,但JVM只会...

    用java运行class文件出现“找不到或无法加载主类”

    当我们在命令行使用`java`命令运行一个类时,JVM会根据类路径来定位包含主类(通常标记为`public static void main(String[] args)`的方法的类)的`.class`文件。 1. **类路径配置**: - 在类路径中,当前目录(`....

Global site tag (gtag.js) - Google Analytics