Atm android app

时间:2017-02-22 21:55:07

标签: java android random

我正在开发一个ATM安卓应用程序,每当应用程序打开它就会崩溃。 这是我的代码:

public class MainActivity extends AppCompatActivity {
    TextView balanceText;
    EditText input;
    Button withdrawButton;
    int balance = 0;
    @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //Create the random number
        Random number = new Random();
        int balance = number.nextInt(10000);
        //Initialize the variables
        balanceText = (TextView)findViewById(R.id.balanceText);
        input = (EditText)findViewById(R.id.input);
        withdrawButton = (Button)findViewById(R.id.withdrawButton);
        do {
            balanceText.setText(balance);
        } while (balance > 0);
    }
    public void withdraw(View view) {
        try {
            String text = input.getText().toString();
            int withdrawal = Integer.parseInt(text);
            balance = balance - withdrawal;
            if (withdrawal > balance) {
                balanceText.setText("Insufficient funds");
            }
        }
        catch (Exception e) {
            balanceText.setText("Something went wrong");
        }
    }
}

注意:我没有在模拟器上朗读,所以我不知道我得到了什么异常或错误。

1 个答案:

答案 0 :(得分:0)

  1. 我不知道循环的用途。寻找我,仿佛永远奔跑,因为平衡不会改变。 onCreate的方法不应该花太长时间。我会在这里删除循环,并使用新值直接在withdraw中更改balanceText。
  2. 如果数字不是字符串资源id,则
  3. setText(int)将崩溃。你可能的意思是:balanceText.setText(String.valueOf(balance));
  4. onCreate中的循环:

    do {
        balanceText.setText(balance);
    } while (balance > 0);
    

    do { balanceText.setText(balance); } while (balance > 0);