随机生成银行帐号

时间:2018-05-21 22:04:53

标签: java

我有一个问题: 我找不到关于如何在java中生成以下格式的银行帐户的解释:BE00 0000 0000 0000.必须保持BE并且必须随机生成0。例如:BE96 4567 7896 4789。 抱歉,我的英语,我是法国人。 提前致谢。祝你有愉快的一天

3 个答案:

答案 0 :(得分:1)

如果您不关心生成的数字的有效性,可以尝试这样的事情。

它的作用是,我创建了一个初始值为String的{​​{1}},然后继续添加BE的随机整数14次。这样我现在就有了一个你想要的格式的字符串。

[0,9]

示例输出:

import java.util.Random;

public class HelloWorld
{
  public static void main(String[] args)
  {
    Random rand = new Random();
    String card = "BE";
    for (int i = 0; i < 14; i++)
    {
        int n = rand.nextInt(10) + 0;
        card += Integer.toString(n);
    }
    for (int i = 0; i < 16; i++)
    {
        if(i % 4 == 0)
          System.out.print(" ");
        System.out.print(card.charAt(i));
    }
  }
}

您可以将每个BE69 5987 1676 6052 BE06 8159 1742 2133 BE36 6723 4210 0408 BE74 4759 6874 6751 字符拆分为字符串,以便它看起来完全符合您的要求。

现在,我已经通过简单演示如何拆分4每个String个字符来更新代码。我并不熟悉Java,所以原谅我的错误。

答案 1 :(得分:0)

您可以使用Random类生成数字。

java.util.Random;

您可以将其另存为字符串并附加数字。

public class BankNum {
    public static void main(String args[])
    {
        String start = "BE";
        Random value = new Random();

    //Generate two values to append to 'BE'
    int r1 = value.nextInt(10);
    int r2 = value.nextInt(10);
    start += Integer.toString(r1) + Integer.toString(r2) + " ";

    int count = 0;
    int n = 0;
    for(int i =0; i < 12;i++)
    {
        if(count == 4)
        {
            start += " ";
            count =0;
        }
        else 
            n = value.nextInt(10);
            start += Integer.toString(n);
            count++;            

    }
    System.out.println(start);
}
}

可能的输出:

BE74 7720 0458 8016

答案 2 :(得分:0)

尝试使用Apache Common Lang库,

有一个实用程序类:RandomUtils可以帮助您生成各种随机值。

和另一个实用程序类:RandomStringUtils,它可以生成随机字符串。

我认为您可以使用RandomStringUtils#randomNumeric