如何防止负数/负数

时间:2018-06-09 10:16:28

标签: java android android-studio

我有一个应用程序,其中有一个文本视图,显示硬币00和一个按钮显示奖励视频广告,向用户提供10个硬币&现在,当用户有30个硬币时,点击购买按钮时,它会将文本硬币设置为00,但是当他的硬币少于30个硬币时,它会将文本设置为负数(假设我有20个硬币)当我点击购买时,它将文本设置为-10)。

我想要什么

我想在用户点击购买按钮时显示祝酒,当他的硬币为0并且我不希望该值变为负数时。

我的代码

 mText = (TextView) findViewById(R.id.money);
    coinCount = 0;
    mText.setText(" " + coinCount);
    Button button = (Button) findViewById(R.id.buynow);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (coinCount <= 0) {
                Toast.makeText(MainActivity.this, "You dont have enough coins", Toast.LENGTH_SHORT).show();
            } else {
                    coinCount = coinCount - 30;
                    mText.setText(String.valueOf(coinCount));
                }

        }
    });

2 个答案:

答案 0 :(得分:0)

更改此

if (coinCount <= 0)

到此:

if (coinCount <= 29)

答案 1 :(得分:0)

只需更改条件:

if (coinCount <= 0)

if (coinCount < 30)

因为当它小于30时你不应该减去coinCount的任何值。你只需告知用户没有足够的硬币。

我还建议您存储要在变量中减去的硬币数量。这样,当有一天你决定改变要减去的硬币数量时,你可以只在一个地方做,而不是使用这个值的整个代码。例如:

mText = (TextView) findViewById(R.id.money);
int costOfTransactionInCoins = 30; // new variable
coinCount = 0;
...
if (coinCount < costOfTransactionInCoins) {
   ... }
else {
    coinCount = coinCount - costOfTransactionInCoins;
...
}
...