Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Atm安卓应用程序_Java_Android_Random - Fatal编程技术网

Java Atm安卓应用程序

Java Atm安卓应用程序,java,android,random,Java,Android,Random,我正在开发一个ATM安卓应用程序,每当该应用程序打开时就会崩溃。 这是我的密码: public class MainActivity extends AppCompatActivity { TextView balanceText; EditText input; Button withdrawButton; int balance = 0; @Override protected void onCreate(Bundle savedIns

我正在开发一个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");
        }
    }
}
注意:我不在模拟器上运行rum,所以我不知道我遇到了什么异常或错误

  • 我不知道循环是为了什么。寻找我,仿佛永远奔跑,因为平衡不会改变。onCreate方法不应花费太长时间。我将删除这里的循环,并用新值直接在draw中更改balanceText
  • 如果数字不是字符串资源id,则setText(int)将崩溃。您的意思可能是:balanceText.setText(string.valueOf(balance)) onCreate中的循环:


    请发布您的崩溃日志,否则无法确定问题的原因。谢谢如果您在设备上运行,请向我们展示logcat。请参阅:您的do while看起来将永远阻止主线程。。。这不是一件好事
    do {
        balanceText.setText(balance);
    } while (balance > 0);