Java 创建一个随机的4位数字,并将其存储为字符串

Java 创建一个随机的4位数字,并将其存储为字符串,java,android,Java,Android,我试图创建一个方法,生成一个4位整数并将其存储在字符串中。 4位整数必须介于1000和10000之间。然后必须将该值存储到PINString。 这是我到目前为止得到的。我得到错误无法调用原语类型int上的toString(字符串)。我怎样才能修好它 public void generatePIN() { //generate a 4 digit integer 1000 <10000 int randomPIN = (int)(Math.ra

我试图创建一个方法,生成一个4位整数并将其存储在字符串中。 4位整数必须介于1000和10000之间。然后必须将该值存储到
PINString
。 这是我到目前为止得到的。我得到错误
无法调用原语类型int
上的toString(字符串)。我怎样才能修好它

   public void generatePIN() 
   {

        //generate a 4 digit integer 1000 <10000
        int randomPIN = (int)(Math.random()*9000)+1000;

        //Store integer in a string
        randomPIN.toString(PINString);

    }
public void generatePIN()
{

//生成一个4位整数1000您要使用的
PINString=String.valueOf(randomPIN);
randomPIN
是一种基本数据类型

如果要将整数值存储在
字符串中
,请使用:


尝试这种方法。x只是第一个数字。它是从1到9。
然后将它附加到另一个最多有3位数字的数字上

public String generatePIN() 
{   
    int x = (int)(Math.random() * 9);
    x = x + 1;
    String randomPIN = (x + "") + ( ((int)(Math.random()*1000)) + "" );
    return randomPIN;
}

使用字符串存储值:

   String PINString= String.valueOf(randomPIN);

创建一个字符串变量,并在其中包含生成的int值:

int randomPIN = (int)(Math.random()*9000)+1000;
String val = ""+randomPIN;
或者更简单

String val = ""+((int)(Math.random()*9000)+1000);

没有比这更简单的了;)

怎么了
(int)(Math.random()*9000)+1000;
?没什么,我想。我误解了问题的意思。我以为是关于数字生成公式本身。为什么你希望它高于1000。我认为0050是一个有效的数字(尽管看起来很奇怪)。显然不是完全重复,但这是同一个解决方案的同一个问题…因此。对于那些试图生成OTP管脚的用户,其值可能为0004、0032或0516。以下是代码。
Random Random=new Random();String generatePin=String.format(“%04d”,Random.nextInt(10000));System.out.println(generatePin)这里是另一种方法。
Random Random=new Random();String generatePin=String.format(“%04d”,Random.nextInt(10000000)%10000);System.out.println(generatePin);
String val = ""+((int)(Math.random()*9000)+1000);