java - 点击android上的随机7位数字

标签 java android random

我希望你能帮助我处理这段代码。我可以生成随机数,但不能精确计数。

问题是,单击按钮后如何生成 7 个随机数字?

请引用下面我的代码:

    public class MainActivity extends Activity {

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

        final Random myRandom = new Random();


        Button buttonGenerate = (Button)findViewById(R.id.generateme);
        final TextView textGenerateNumber = (TextView)findViewById(R.id.generatenumber);

        buttonGenerate.setOnClickListener(new OnClickListener(){

                 @Override
                 public void onClick(View v) {
                      // TODO Auto-generated method stub
                      textGenerateNumber.setText(String.valueOf(myRandom.nextInt()));
                  }
       });
  }
  }

这是我的 XML 文件

     <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Generate Random number"
    android:id="@+id/generateme"
    />
    <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/generatenumber"
    />
    </LinearLayout

最佳答案

尝试使用 JAVA 的 Math 和 Random 类(如本函数所示)来生成具有“n”位数字的随机数。例如 7 位随机数。

private int nDigitRandomNo(int digits){
    int max = (int) Math.pow(10,(digits)) - 1; //for digits =7, max will be 9999999
    int min = (int) Math.pow(10, digits-1); //for digits = 7, min will be 1000000
    int range = max-min; //This is 8999999
    Random r = new Random(); 
    int x = r.nextInt(range);// This will generate random integers in range 0 - 8999999
    int nDigitRandomNo = x+min; //Our random rumber will be any random number x + min
    return nDigitRandomNo;
}
int digits = 7;
int n = nDigitRandomNo(digits);
//n will be a random number between 1000000 - 9999999

关于java - 点击android上的随机7位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15331435/

相关文章:

java - 创建随机 5x5 字母板

java - 尝试访问 JNA 函数时出现 IllegalArgumentException

java - 处理程序内存泄漏?

java - 如何将 JScrollPane 调整为其包含的 JTree

java - 使用 Hibernate 4 将 UTF-8 写入 MariaDB 和 MySQL 中的 BLOB

android - 解析多个 JSON 字符串

Matlab 投币模拟

Android View 之上的 View

android - 错误 : cannot find symbol class DataBindingComponet after merge two branches

python - Python中均匀分布的随机字符串