gpt4 book ai didi

java - 给定大数字时应用程序崩溃

转载 作者:行者123 更新时间:2023-11-29 07:50:13 24 4
gpt4 key购买 nike

我创建了一个应用程序,它在 2 个给定值之间生成随机数,并且它的工作正常,它按照它说的去做,但是如果我在最大值(或最小值)中输入 11 位数字,应用程序崩溃我该如何修复它是这里还有另一种生成随机数以支持大值的方法是代码

        Button gen = (Button)findViewById(R.id.button);
final EditText mini = (EditText)findViewById(R.id.mini);
final EditText maxi = (EditText)findViewById(R.id.maxi);
final TextView res = (TextView)findViewById(R.id.result);

final Random r = new Random();
final int[] number = {0};

gen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int minn = Integer.parseInt(mini.getText().toString());
int maxx = Integer.parseInt(maxi.getText().toString());

if (minn>=maxx){
maxi.setText(String.valueOf(minn));
mini.setText(String.valueOf(maxx));
maxx = Integer.parseInt(maxi.getText().toString());
minn = Integer.parseInt(mini.getText().toString());
number[0] = minn + r.nextInt(maxx - minn + 1);
res.setText(String.valueOf(number[0]));
}else{
number[0] = minn + r.nextInt(maxx - minn + 1);
res.setText(String.valueOf(number[0]));
}
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
});
}

最佳答案

您必须使用 long 或 double 而不是 Integer。因为 Integer 不支持那么大的值。

long minn = Long.parseInt(mini.getText().toString());
long maxx = Long.parseInt(maxi.getText().toString());

double minn = Double.parseInt(mini.getText().toString());
double maxx = Double.parseInt(maxi.getText().toString());

关于java - 给定大数字时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21773224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com