Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RPN计算器错误消息添加_Java_Calculator_Rpn - Fatal编程技术网

Java RPN计算器错误消息添加

Java RPN计算器错误消息添加,java,calculator,rpn,Java,Calculator,Rpn,我一直在为一个类分配而使用这个计算器,如果没有足够的处理器数量,我无法确定在哪里放置“错误”语句。 我可以有额外的号码(即3+),但不能太少(即3+) 如果你有什么想法,请告诉我 import java.util.*; class RPNCalculator{ public static void main (String [] str){ Scanner scan = new Scanner(System.in); System.out.println("Please enter

我一直在为一个类分配而使用这个计算器,如果没有足够的处理器数量,我无法确定在哪里放置“错误”语句。 我可以有额外的号码(即3+),但不能太少(即3+)

如果你有什么想法,请告诉我

 import java.util.*;
 class RPNCalculator{

 public static void main (String [] str){

Scanner scan = new Scanner(System.in);

System.out.println("Please enter numbers and operations in PRN format");
  String input = scan.nextLine();
  String [] split = input.split("\\s+");
  double [] numbers = new double [1000];
  int numAmount = 0;

    for (int i = 0; i < split.length; i++){
      if (split[i].equals("+")){
        numbers[numAmount-2] = numbers[numAmount-2] + numbers[numAmount-1];
        numAmount--;
      }
      else if (split[i].equals("-")){
        numbers[numAmount-2] = numbers[numAmount-2] - numbers[numAmount-1];
        numAmount--;
      }
      else if (split[i].equals("*")){
        numbers[numAmount-2] = numbers[numAmount-2] * numbers[numAmount-1];
        numAmount--;
      }
      else if (split[i].equals("/")){
        numbers[numAmount-2] = numbers[numAmount-2] / numbers[numAmount-1];
        numAmount--;
      } 
      else {
        numbers[numAmount] = Double.parseDouble(split[i]);
        numAmount++; 
      }
    }
  System.out.print (numbers[numAmount-1]);
  }
  }
import java.util.*;
类RPN计算器{
公共静态void main(字符串[]str){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“请以PRN格式输入数字和操作”);
字符串输入=scan.nextLine();
String[]split=input.split(\\s+);
double[]数字=新的double[1000];
int numAmount=0;
对于(int i=0;i
我觉得你的方法完全错了。反向波兰符号计算器应该使用堆栈数据结构,将操作数推送到堆栈数据结构上。谷歌“RPN堆栈Java”。如果它已经在后期修复中,那么困难的部分已经完成了。您可以使用可靠的-弹出、弹出、评估、推送。虽然,我不知道为什么有人会允许“额外的数字”,因为它似乎是无效的。