【问题标题】:Does there have to be a string value in my setText?我的 setText 中是否必须有一个字符串值?
【发布时间】:2020-07-16 22:25:02
【问题描述】:

我正在尝试制作一个将用户输入的值转换为 editText 的应用程序。但是当我运行程序时,它会关闭并且不会显示用户输入的输入或输入除以 2。我尝试将 btCalculate.setText("Hi" + convert);并显示了 hi 和用户输入,但是当我摆脱字符串并进行转换时,它会关闭。有人可以帮助我或理解我想要做什么吗? 这是我的代码:

    btCalculate.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v) {
            int convert = Integer.parseInt(editText.getText().toString());

            if (btCopper1.isPressed());
            btCopper2.isPressed();{
                btCalculate.setText(convert);
            }
            if (btCopper1.isPressed());
            btSilver2.isPressed();
                btCalculate.setText(convert/2);
            }
    });

}

}

【问题讨论】:

  • 你的代码有错误。修复 if 中的 { 和 }。
  • 是否必须删除 if 之间的所有 { }?
  • 取决于你想让你的代码做什么。
  • 我只想要第二个,如果我希望它打印出用户输入除以 2 的结果

标签: java android-studio division settext


【解决方案1】:

尽可能简单地编写代码是一个好习惯。将更容易发现和解决问题。

示例:

if(expression == true) {
// do this instructions
}

在您的代码中,开始修复 {},使其更易于理解:

if (btCopper1.isPressed()) {
 btCalculate.setText(convert);
}

想一想,看来你的逻辑有问题。

【讨论】:

  • if (expression == true) 更简单的是if (expression)
  • 是的,但我评论的目的是尽可能地具有指导意义。
  • 你会怎么做,所以有两个按钮需要是真的?
  • if (btCopper1.isPressed() && btCooper2.isPressed()) { btCalculate.setText(convert); }
  • 然而if (expression == true) 被普遍认为是糟糕的编码风格,因为== true 是多余的。
猜你喜欢
  • 2017-02-10
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-07
  • 2018-08-29
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
相关资源
最近更新 更多