生成随机int

时间:2015-07-26 08:43:28

标签: android

我试图将我作为int的用户输入与Random r进行比较。但我得到类型不匹配错误。我尝试使用Integer.parseint(r)解析Random as int,但即使这样也会给我一个类型不匹配的错误。我在game()函数中做了这一切。

awk -F"," '{
    if (NF==47) {
        if ($23 ~ /2025/) {$21=$21*1000}
        {A[$1]=$0}
    } else {
        if (NF==10) {
            if (A[$1]==$0) {B[$1]=$0}
        }
        {if (NF==2) {
            B[$1]==$0 && $21>=$2
        }
        {print $0}
    }
}'

4 个答案:

答案 0 :(得分:7)

对于make random int,你可以使用这个

Random r = new Random();

int a = r.nextInt((100-10)+1)+10;

这会产生10到100之间的随机int

一般情况下使用nextInt这样的随机 两个数字之间

r.nextInt((max-min)+1)+min;

我想我知道你想要什么

完整代码,首先生成一个随机的int a,当点击button来电game时,在game中检查用户号码是否等于a然后显示消息并生成新的数字......

public class MainActivity extends ActionBarActivity {

    EditText editText;

    Random r = new Random();
    int a;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_send);

        /*--------Generate First Random int--------*/
        a = r.nextInt((100-10)+1)+10;
        Log.i("LOG", "Random --> " + a);
        /*-----------------------------------------*/

        editText =(EditText) findViewById(R.id.editText);

        Button button=(Button) findViewById(R.id.button);

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                game(arg0);
            }
        });
    }

    public void game(View view) {

        TextView textv = (TextView) findViewById(R.id.textView2);
        String eText=editText.getText().toString();

        int guess = Integer.parseInt(eText);

        if (guess == a){

            textv.setText("You Won");
            a = r.nextInt((100-10)+1)+10;
        }
        else if(guess < a){

            textv.setText("Higher");
        }

        else if (guess > a){

            textv.setText("Lower");
        }
    }
}

» 有关Android中随机的更多信息,请访问此链接

http://developer.android.com/reference/java/util/Random.html

答案 1 :(得分:2)

使用此代码:

Random r = new Random();
a = Integer.parseInt(r);

你正在创建一个类型为java.util.Random的对象,它是一个随机数生成器(不是你想象的随机数)。然后,您尝试将其传递给java.lang.Integer.parseInt(String)方法,该方法只接受String。你的尝试显然失败了。

您可能希望调用java.util.Random.nextInt()方法来获取随机整数:

int i = new Random().nextInt();

无论如何都不需要解析它。

live example

答案 2 :(得分:0)

您应该使用a = r.nextInt()

请参阅Java Documentation

答案 3 :(得分:0)

请参阅this post以供参考

public static int randInt(int min, int max) {

Random rand = new Random();
return rand.nextInt((max - min) + 1) + min; 
}