【问题标题】:Strings for Calculator计算器的字符串
【发布时间】:2023-04-05 09:16:02
【问题描述】:

我想编写一个计算器,它从文本字段中获取数字并将它们加在一起以在文本区域中给出它们。 它可以从文本字段中获取两个数字,但是当我将它们加在一起时,它会给出:1+1=11

如何将两个字符串相加使其等于 2?

这是我的源代码:

private void ButtonPlusActionPerformed(java.awt.event.ActionEvent evt) {                                           
    String Nummer1 = Zahl1.getText();
    String Nummer2 = Zahl2.getText();

    int intZahl1 = Integer.parseInt(Nummer1);
    Integer integerZahl1 = new Integer(Nummer1);

            int intZahl2 = Integer.parseInt(Nummer2);
    Integer integerZahl2 = new Integer(Nummer2);

    Result.setText(Nummer1 + Nummer2);

Result 是我的文本区域的名称,而潜水员Nummers 只是变量,您可能已经注意到了。

【问题讨论】:

  • 除了@HovercraftFullOfEels 的回答,我想指出Java 编码约定规定包名都是小写,类名是CamelCase 以大写字母开头,变量名是以camelCase 开头一个小写字母。话虽如此,您应该将变量 Nummer1Nummer2 声明为 nummer1nummer2,即使我知道名词都是大写的 auf Deutsch 所以它不那么直观

标签: java string add calculator


【解决方案1】:

您添加的是字符串而不是整数。您需要添加 integerZahl1 和 intZahl2 而不是 Nummer1 和 Nummer2。

例如,

int intResult = intZahl1 + intZahl2;
Result.setText(String.valueOf(intResult));

顺便说一句,您需要学习并遵循 Java 命名约定。变量和方法名应以小写字母开头,类名应以大写字母开头。


Dom 状态:

或者你可以只做 Result.setText(intZahl1 + intZahl2);如果您只需要显示结果。

Dom,请理解setText(...) 需要一个String 参数,而不是一个int,所以编译器将不允许你的方法调用。如果有人尝试了

Result.setText("" + intZahl + intZahl2);

他们会再次收到11。为了使您的技术发挥作用,您需要执行以下操作,

Result.setText(String.valueOf(intZahl1 + intZahl2));

编辑

您还需要使用整数而不是整数。

【讨论】:

  • 不应该是int intResult = intZahl1 + intZahl2;吗?
  • @StormeHawke:天哪!谢谢!
  • 没问题,我们都有 D'oh 时刻 :)
  • 如果你只需要显示结果,也可以直接使用Result.setText(intZahl1 + intZahl2);
  • @Dom:您的建议有缺陷。请参阅编辑以回答。
猜你喜欢
  • 1970-01-01
  • 2014-03-23
  • 2019-09-14
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多