Оценка проблем программы Expression, принимающих пользовательский ввод - PullRequest
0 голосов
/ 18 февраля 2019

Большая часть этого кода уже написана, но код, который я добавил, должен был включать ^ и%.Это код для вычисления выражения в правильном порядке с использованием стеков.У меня проблемы с этим, это основной метод и добавление способа ввода пользовательского ввода и распечатки результата проблемы.Я просто включил эту часть кода

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 "выражение"

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Ваша программа читает со стандартного ввода.Не нужно проверять количество аргументов.Args - это программные аргументы, которые напрямую вводят вашу программу.Как ls *.txt или java -cp . EvaluateExpression <myvalue>

Надеюсь, это поможет.

0 голосов
/ 18 февраля 2019

Это просто означает, что args.length отличается от 1.

...