【问题标题】:wcalculator delete button alternative to enteredInput.length() - 1);wcalculator 删除按钮替代输入Input.length() - 1);
【发布时间】:2016-09-11 22:27:46
【问题描述】:

大家好,我是 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 android calculator backspace


    【解决方案1】:

    好吧……我已经半年没有做Java了。如果我的回答不清楚,请见谅。

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

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

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

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

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

    {"1", "+"}
    

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

    希望这会有所帮助。

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

    【讨论】:

    • 谢谢。我还没有解决它,但我认为正如你提到的,列表就是答案(或答案)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多