wcalculator 删除按钮替代 enteredInput.length() - 1);

wcalculator delete button alternative to enteredInput.length() - 1);

大家好,我是 Java 的新手,我正在构建一个计算器项目 我将其用于 DEL 按钮(退格键)

if(data.equals("DEL")){
                String enteredInput = outputResult.getText().toString();
                if(enteredInput.length() > 0){
                    enteredInput = enteredInput.substring(0, enteredInput.length() - 1);
                    currentDisplayedInput = enteredInput;
                    inputToBeParsed = enteredInput;
                    outputResult.setText(currentDisplayedInput);
                }

删除最后一位数字效果很好,但我使用正弦等函数,...等 它在 textview 上显示为 "sine(" ,当单击 Del 按钮时,它会删除最后一个字符,在这种情况下 "(" ...我需要它来删除输入而不是最后一个字符(整个正弦)

好吧...我半年没做Java了。所以,如果我的回答似乎不清楚,请见谅。

好的,您需要删除用户在计算器中输入的最后一个条目...

我建议您使用 String 类型的列表来执行此操作。

每次用户单击计算器的按钮时,将条目添加到列表的末尾,例如,如果用户单击一个加号然后单击正弦,则列表中的元素应如下所示:

{"1", "+", "sin("}

现在,当用户单击“删除”按钮时...您的程序确实记录了删除按钮被单击,但它删除了列表的最后一个元素,因此上述列表的元素将如下所示:

{"1", "+"}

在文本字段中显示数学表达式应该相当简单,但效率很高。一些程序员可能会在列表更新时一遍又一遍地显示列表的所有元素。您可以用另一种方式显示数学表达式,而无需遍历 List 来执行此操作。 Hint: Use String methods.

希望对您有所帮助。

我很想看到这个问题不使用列表或数组的答案。