java - 评估表达式程序在接受用户输入时遇到的问题

标签 java arrays stack program-entry-point args

很多代码已经写好了,但我添加的代码是包含 ^ 和 %。它是使用堆栈以正确顺序计算表达式的代码。我遇到的问题是主要方法,并添加了一种获取用户输入并打印问题结果的方法。我只是包含那部分代码

16 import java.util.Stack;
17 import java.util.Scanner;
18 
19 public class EvaluateExpression {
20  public static void main(String[] args) {
21       
22      Scanner input = new Scanner(System.in);
23      System.out.println("Enter the expression to be evaluated: ");
24      String expression = input.nextLine();
25      
26      //Check number of arguments passed
27      if (args.length != 1) {
28          System.out.println("Usage: java EvaluateExpression \"expression\"");
29          System.exit(1);
30      }
31      try {
32          System.out.println(expression + " = " + 
33                  evaluateExpression(expression));
34      }
35      catch (Exception ex) {
36          ex.printStackTrace();
37          System.out.println("Wrong expression: " + expression);
38      }
39      
40  }

预期结果:它正在打印要评估的表达式以及结果。 但是,当我尝试输入随机表达式时,我得到的结果如下:

输入要计算的表达式:

6+9*8-7

用法:java EvaluateExpression "表达式"

最佳答案

这只是意味着 args.length 不等于 1。

关于java - 评估表达式程序在接受用户输入时遇到的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54754922/

相关文章:

arrays - Bash 脚本中的 Unshift 数组元素

php - 从 sql 结果在 PHP 中为 json 创建一个关联数组

c - 即使在函数调用完成后也可以访问堆栈上的内存位置

java - 为什么 PriorityQueue 不像 Queue?

java - 使用堆栈评估 Postfix

java - 用户 'root' @'localhost' 的 mysql 访问被拒绝(使用密码 : NO)

java - 我如何计算给定日期列表中周数的日期数

java - Netbeans - 以 JDK 6 为目标构建但使用 Java 7 JRE 运行

java - Android 上设置参数后启动相机失败

c - 以特定方式打印出姓名