如何使用计算结果作为计算器应用程序的第一个输入

How to use result from calculation as first input of Calculator App

提问人:Natsu 提问时间:5/28/2023 更新时间:5/28/2023 访问量:67

问:

我正在制作一个计算器应用程序。到目前为止,一切都很好,但我很难实现一个函数,在该函数中,您之前的结果可以用作下一个方程的第一个输入。例如:如果以 2+5 开头,则等于 7。然后我希望能够点击 + 2 并获得 9。


let operate = (a, operator, b) => {
  if (operator === "+") {
    return addition(a, b);
  } else if (operator === "-") {
    return subtraction(a, b);
  } else if (operator === "*") {
    return multiplication(a, b);
  } else if (operator === "/") {
    return division(a, b);
  } else {
    return "Invalid operator";
  }
};

//Function that populates the number display with the number that the mouse clicks on
let numbers = [];
let currentNumber = "";

$(".number").on("click", function (e) {
  let displayNum = $(e.currentTarget).text();
  currentNumber += displayNum;
  $(".display").text(currentNumber);
});

$(".operator").on("click", (e) => {
  let operator = $(e.target).text();
  numbers.push(parseInt(currentNumber));
  numbers.push(operator);
  currentNumber = "";
});

$(".equals").on("click", () => {
  numbers.push(parseInt(currentNumber));

  let a = numbers[0];
  let operator = numbers[1];
  let b = numbers[2];

  let result = operate(a, operator, b);
  $(".display").text(result);

  //numbers = [];
  //currentNumber = "";
  numbers.push(result);
  currentNumber = result;
});

$(".clear").on("click", () => {
  $(".display").text("0")
  numbers = [];
  currentNumber = "";
});
JavaScript jQuery 递归 数学 计算器

评论

0赞 Gabor Szita 5/28/2023
我认为您想要的是一个表达式计算器 geeksforgeeks.org/expression-evaluation
0赞 Scott Sauyet 5/30/2023
没有片段,我不确定,但看起来你已经注释掉了解决方案。在等于单击处理程序中,应重置为在推送当前值之前。numbers[]

答: 暂无答案