为了账号安全,请及时绑定邮箱和手机立即绑定

评估表达式程序在处理用户输入时遇到问题

评估表达式程序在处理用户输入时遇到问题

慕婉清6462132 2022-06-23 19:35:37
很多这样的代码已经写好了,但我添加的代码是包含 ^ 和 %。它是使用堆栈以正确顺序评估表达式的代码。我遇到的麻烦是主要方法,并添加了一种获取用户输入并打印出问题结果的方法。我只是包括那部分代码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 passed27      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 "表达式"
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

它只是意味着 args.length 不同于 1。



查看完整回答
反对 回复 2022-06-23
?
森栏

TA贡献1810条经验 获得超5个赞

您的程序正在从标准输入读取。不需要检查 args 计数。Args 是直接输入程序的程序参数。喜欢 ls *.txt 或 java -cp . EvaluateExpression <myvalue>

希望这可以帮助。


查看完整回答
反对 回复 2022-06-23
  • 2 回答
  • 0 关注
  • 63 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信