Java 如何编码一个特殊的随机数方案?

Java 如何编码一个特殊的随机数方案?,java,Java,我正在学习Java。我只想写一个方法,生成特定集合中的随机数,比如银行信用卡“xxxx-xxxx-xxxx-xxxx”。每个数据块的长度必须正好为4位数。有人有办法吗 public class Main { 公共静态用户帐户持有人[]=新用户[100]; 公共静态int索引=0 public static void main(String[] args) { Scanner input = new Scanner(System.in); while (true) {

我正在学习Java。我只想写一个方法,生成特定集合中的随机数,比如银行信用卡“xxxx-xxxx-xxxx-xxxx”。每个数据块的长度必须正好为4位数。有人有办法吗

public class Main {
公共静态用户帐户持有人[]=新用户[100]; 公共静态int索引=0

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    while (true) {

        System.out.println("\t-----\tWelcome to The Bank portal\t-----");
        System.out.println("\nPlease enter the number of your required action");
        System.out.println("\n1) Make a Deposit");
        System.out.println("2) Get balance");
        System.out.println("3) Register new account");
        System.out.println("0) Quit the portal");

        int command = input.nextInt();
        switch (command) {
            case 1:
                InputController.deposit();
                break;
            case 2:
                InputController.balance();
                break;
            case 3:
                User user = InputController.register();
                accountHolders[index] = user;
                index++;
                break;

                default:
                System.out.println("Wrong input! please enter a number between 1 - 4!!!");
                break;

        }
    }
}
}

}

}

公共类InputController{
静态扫描仪输入=新扫描仪(System.in);
公共静态用户寄存器(){
System.out.print(“输入您的姓名:”);
String name=input.next();
System.out.print(“输入密码:”);
int password=input.nextInt();
System.out.print(“请输入您的初始存款金额:”);
int balance=input.nextInt();
账户=新账户(密码、余额);
用户=新用户(名称、帐户);
System.out.print(“您的账号是:+account.getUniID());
返回用户;
}
公共静态无效余额(){
int index=findAccount();
如果(索引!=-1){
System.out.print(“输入密码:”);
int password=input.nextInt();
if(Main.accountHolders[index].getAccount().getPassword()==密码){
System.out.println(“您的余额为:”+
Main.accountHolders[index].getAccount().getBalance();
}否则{
System.out.println(“错误密码”);
}
}
}
公众静态无效存款(){
int index=findAccount();
如果(索引!=-1){
系统输出打印(“输入所需金额:”);
int money=input.nextInt();
Main.accountHolders[index].getAccount().makeDeposit(money);
System.out.println(“存款成功”);
}
}
私有静态int findAccount(){
系统输出打印(“请输入您的账号:”);
int accountNum=input.nextInt();
for(int i=0;i

对不起,有点长,但现在这就是全部。每次信用卡号用户注册新帐户时,我想为他们引入一个新变量。

您可以尝试下面的代码吗。如果您只需要一次,请删除for循环

public class RandomSetGenerator {
public static void main(String[] args) {
    Random generator = new Random();
    for (int i = 0; i < 10; i++) {
        String string = Integer.toString(generator.nextInt(9000) + 1000) + "-" + Integer.toString(generator.nextInt(9000) + 1000) + "-" + Integer.toString(generator.nextInt(9000) + 1000) + "-" + Integer.toString(generator.nextInt(9000) + 1000);
        System.out.println("Specific set of random  number generated :" + string);
    }
}}
公共类随机集生成器{
公共静态void main(字符串[]args){
随机生成器=新随机();
对于(int i=0;i<10;i++){
字符串字符串=Integer.toString(generator.nextInt(9000)+1000)+“-”+Integer.toString(generator.nextInt(9000)+1000)+“-”+Integer.toString(generator.nextInt(9000)+1000)+“-”+Integer.toString(generator.nextInt(9000)+1000);
System.out.println(“生成的特定随机数集:“+字符串”);
}
}}

创建一个函数,该函数给出一个范围内的随机数,并使用它生成相同的值:

公共类随机集生成器{
公共字符串genNumberToString(inti,intj){
随机生成器=新随机();
返回整数.toString(生成器.nextInt(i)+j)
}
公共静态void main(字符串[]args){
对于(int i=0;i<10;i++){
String str=genNumberToString(9000,1000)+“-”+genNumberToString(9000,1000)+“-”+genNumberToString(9000,1000)+“-”+genNumberToString(9000,1000);
System.out.println(“生成的特定随机数集:“+str”);
}
}}

请展示您迄今为止所做的尝试,并解释您遇到的问题。我已经添加了代码。@请养成对有助于您的答案进行投票的习惯:)我想这确实完成了对方的要求
public class User {
private String name;
private Account account;

public String getName() {
    return name;
}


public Account getAccount() {
    return account;
}



public User(String name, Account account) {
    this.name = name;
    this.account = account;

}
public class InputController {

static Scanner input = new Scanner(System.in);

public static User register() {
    System.out.print("Enter your name: ");
    String name = input.next();
    System.out.print("Enter your password: ");
    int password = input.nextInt();
    System.out.print("Please enter the amount of your initial deposit: ");
    int balance = input.nextInt();

    Account account = new Account(password, balance);

    User user = new User(name, account);

    System.out.print("Your account number is: " + account.getUniID());


    return user;


}

public static void balance() {

    int index = findAccount();

    if (index != -1) {
        System.out.print("Enter your password: ");
        int password = input.nextInt();
        if (Main.accountHolders[index].getAccount().getPassword() == password) {
            System.out.println("Your balance is: " +
                    Main.accountHolders[index].getAccount().getBalance());
        } else {
            System.out.println("Wrong password");
        }

    }



}

public static void deposit() {


        int index = findAccount();
        if (index != -1) {
            System.out.print("Enter the required amount: ");
            int money = input.nextInt();
            Main.accountHolders[index].getAccount().makeDeposit(money);
            System.out.println("Deposit successful");
        }
    }


    private static int findAccount() {

        System.out.print("Please Enter your account number: ");
        int accountNum = input.nextInt();

        for (int i = 0; i < Main.index; i++) {

            User user = Main.accountHolders[i];
            int id = user.getAccount().getUniID();

            if (id == accountNum) {
                return i;

            } else if (id != accountNum){
                System.out.println("Account number not found");

            }

        }

        return -1;
    }
}
public class RandomSetGenerator {
public static void main(String[] args) {
    Random generator = new Random();
    for (int i = 0; i < 10; i++) {
        String string = Integer.toString(generator.nextInt(9000) + 1000) + "-" + Integer.toString(generator.nextInt(9000) + 1000) + "-" + Integer.toString(generator.nextInt(9000) + 1000) + "-" + Integer.toString(generator.nextInt(9000) + 1000);
        System.out.println("Specific set of random  number generated :" + string);
    }
}}