如何在Android Java中创建介于最小值和最大值之间的随机数,不包括介于最小值和最大值之间的某些数?

我有三个var,每个var是介于1到100之间的随机数。我可以使用math.rand()进行随机数处理,但是我试图确保三个数字不匹配。我做了一些关于while和if语句的工作,但是我一直在寻找是否有一行命令来执行此操作,以便可以将其放在活动类下,以便它是公共变量。在该区域(活动),我无法使用while和if语句,由于空白或其他原因,我只能在onCreate中使用。

在此先感谢您的帮助,并会投票给将寻求有关此信息的任何帮助或想法。

最佳答案

这是我的AndroidActivity代码,它可以正常工作。

package com.androidbook.droid1;
import java.util.Random;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
public class DroidActivity3 extends Activity
{
public static class GetThreeRandomIntClass
{
    public static class Dots
    {
        public int a;
        public int b;
        public int c;

        public Dots()
        {
                a = 0;
                b = 0;
                c = 0;
        }

        @Override
        public String toString()
        {
            return "[" + a + "]" + "[" + b + "]" + "[" + c + "]";
        }
    }

    public static void getThreeRandomInt(Dots d)
    {
        int[] arr = new int[100];
        Random r = new Random();
        for(int i=0; i<arr.length ; i++){
            arr[i] = i + 1;
        }
        int randInt = r.nextInt(100);
        d.a = arr[randInt];
        for(int i=randInt; i<arr.length - 1 ; i++){
            arr[i] = arr[i + 1];
        }
        randInt = r.nextInt(99);
        d.b = arr[randInt];
        for(int i=randInt; i<arr.length - 2 ; i++){
            arr[i] = arr[i + 1];
        }
        randInt = r.nextInt(98);
        d.c = arr[randInt];
    }
}




@Override
protected void onCreate(Bundle savedInstanceState)
{

    this.setContentView(R.layout.third);

    GetThreeRandomIntClass.Dots d = new GetThreeRandomIntClass.Dots();
    GetThreeRandomIntClass.getThreeRandomInt(d);

    TextView textView1 = (TextView) this.findViewById(R.id.textView1);
    textView1.setText(String.valueOf(d.a));

    TextView textView2 = (TextView) this.findViewById(R.id.textView2);
    textView2.setText(String.valueOf(d.b));

    TextView textView3 = (TextView) this.findViewById(R.id.textView3);
    textView3.setText(String.valueOf(d.c));

    super.onCreate(savedInstanceState);
}}

10-08 03:08