首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >评估表达式程序接受用户输入的问题

评估表达式程序接受用户输入的问题
EN

Stack Overflow用户
提问于 2019-02-19 04:30:42
回答 2查看 141关注 0票数 1

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

代码语言:javascript
运行
复制
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

用法: EvaluateExpression“EvaluateExpression”

EN

回答 2

Stack Overflow用户

发布于 2019-02-19 04:42:11

这仅仅意味着args.length不同于1。

票数 0
EN

Stack Overflow用户

发布于 2019-02-19 04:43:12

您的程序正在从标准输入读取数据。不需要检查参数计数。Args是直接输入程序的程序参数。如ls *.txtjava -cp . EvaluateExpression <myvalue>

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54754922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档