/**
* 计算无括号加减
* @param formula 公式
* @return
*/
public static double accountMinusAndAdd(String formula)
{
Shed shed = new Shed();
char[] c = formula.toCharArray();
String tmp = "";
boolean isAcc = false;
for(int i = 0; i < c.length; i++)
{
if(c[i] == '+' || c[i] == '-')
{
//是否计算
if(isAcc)
{
String operator = shed.get();
String strX = shed.get();
double x = Double.parseDouble(strX);
double y = Double.parseDouble(tmp);
tmp = "" + account(x, y, operator);
isAcc = false;
}
else
{
isAcc = true;
}
shed.put(tmp);
shed.put(c[i] + "");
tmp = "";
continue;
}
tmp += c[i];
}
shed.put(tmp);
//计算
if(isAcc)
{
String strY = shed.get();
double y = Double.parseDouble(strY);
String operator = shed.get();
String strX = shed.get();
double x = Double.parseDouble(strX);
tmp = "" + account(x, y, operator);
shed.put(tmp);
}
return Double.parseDouble(shed.get());
}
/**
* 计算无括号乘除
* @param formula 公式
* @return
*/
public static String accountMultiplyAndDivide(String formula)
{
Shed shed = new Shed();
char[] c = formula.toCharArray();
String tmp = "";
boolean isAcc = false;
for(int i = 0; i < c.length; i++)
{
if(c[i] == '*' || c[i] == '/' || c[i] == '+' || c[i] == '-')
{
//是否计算
if(isAcc)
{
String operator = shed.get();
String strX = shed.get();
double x = Double.parseDouble(strX);
double y = Double.parseDouble(tmp);
tmp = "" + account(x, y, operator);
isAcc = false;
}
if(c[i] == '*' || c[i] == '/')
{
isAcc = true;
}
shed.put(tmp);
shed.put(c[i] + "");
tmp = "";
continue;
}
tmp += c[i];
}
shed.put(tmp);
//是否计算
if(isAcc)
{
String strY = shed.get();
double y = Double.parseDouble(strY);
String operator = shed.get();
String strX = shed.get();
double x = Double.parseDouble(strX);
tmp = "" + account(x, y, operator);
shed.put(tmp);
}
//重组公式
String gs = "";
for(int i = 0; i < shed.list.size(); i++)
{
gs += shed.list.get(i);
}
return gs;
}
分享到:
相关推荐
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代码。如果遇到问题...
抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包到当前使用的java.exe 命令的lib目录下的ext...
该错误通常出现在尝试运行一个Java程序时,表明Java虚拟机(JVM)无法找到程序的主类(即包含main方法的类),从而导致程序无法启动并退出。 #### 错误含义解释 在Java中,每个应用程序都必须有一个起点,也就是...
- `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. **类路径配置**: - 在类路径中,当前目录(`....