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