我尝试构建一个程序,在该程序中,您可以给出最大值和最小值,以便在它们之间生成随机数。 Eclipse说我必须向r.nextInt()
添加一个强制转换。我做了但我不知道在这里使用什么而不是对象:
int result = ((Object) r).nextInt(max - min + 1) + min;
(已经由Eclipse添加了强制转换)。谢谢你的帮助。
这是重要的代码。
public void ButtonKlick (View view) {
int max;
EditText maxText = (EditText)findViewById(R.id.maximum);
if (maxText.getText().toString().length() == 0) {
return;
}
max = Integer.parseInt(maxText.getText().toString());
int min;
EditText minText = (EditText)findViewById(R.id.minimum);
if (minText.getText().toString().length() == 0) {
return;
}
min = Integer.parseInt(minText.getText().toString());
Random r = new Random();
int result = ((Object) r).nextInt(max - min + 1) + min;
EditText resultText = (EditText)findViewById(R.id.et_result);
resultText.setText(String.valueOf(result));
}
答案 0 :(得分:2)
尝试更改
Random r = new Random();
int result = ((Object) r).nextInt(max - min + 1) + min;
到
Random r = new Random();
int result = r.nextInt(max - min + 1) + min;
R.nextInt()返回一个整数
在页面顶部(上面的类定义但在包定义之下),您应该看到一些导入。你想确保它在那里:
package com.example.yourproject;
import java.util.Random;
...
public class yourclass {
...
答案 1 :(得分:1)
你根本不需要施放它。您将从随机数生成器获取下一个整数,并将int设置为该值。它应该只是
int result = r.nextInt(max - (min + 1)) + min;
这会给你一个最大和最小+ 1之间的随机数
答案 2 :(得分:0)
您必须定义自己的名为Random的类。不要那样做。重命名它。然后r.nextInt()将在没有演员的情况下工作。