【问题标题】:Calculator final output issue计算器最终输出问题
【发布时间】:2016-09-15 07:15:33
【问题描述】:

我正在 android 中创建一个计算器应用程序。它应该匿名计算文本框上的任何内容。例如我在文本框中输入 1+2.5-5*8。但是当我调用添加方法时,应用程序崩溃了。因为输入是字符串格式,而我想要的答案是数字格式。我使用了字符串缓冲区。我在 java 中尝试过,当我在 stringBuffer 中输入 (1+1+3-1) 并使用 println() 方法显示时,它会给出正确的答案,但是当我从 editText 获取该值时,字符串缓冲区不会发生同样的情况。

【问题讨论】:

  • 发布您的代码。

标签: android calculator


【解决方案1】:

您必须将字符串转换为整数或浮点数。

使用 Integer.parseInt("") 方法转换为整数,使用 Float.parseFloat("") 方法转换为浮点数。

【讨论】:

  • 是的,我试过了。应用程序因 NumberFormatException 而崩溃。因为输入文本是 (1 + 1.2 - 8) ,它是开头的字符串。但是整个字符串不能直接转换成数字格式。
  • 是的@Avinash 所以首先你必须拆分字符串并从该字符串中取出数字。提取数字后,使用 parseInt 方法对它们进行操作
【解决方案2】:

首先欢迎来到 StackOverFlow

如果您在问题中添加代码和错误日志可能会有所帮助

因此,我将介绍您的程序中可能发生的所有错误:

  1. NumberFormatException- 您可能没有将字符串“12”转换为 int 12 来执行此操作,因此请使用 Interger.parseInt(您的字符串缓冲区仅在此处使用数字);
  2. 尝试为您的解决方案使用堆栈和队列(谷歌它你会得到详细信息)
  3. 您可能在从edittext 获取字符串时出错,有时会出现NullPointerException

如果上面的评论不够,请尽快添加您的代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-13
    • 2021-10-18
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多