繁体   English   中英

在数组Java中存储7个随机生成的数字和名称

[英]Store 7 Randomly generated numbers & names in an array Java

我完全不确定该怎么做,但是我想生成1000个随机生成的7位数字和5个字母名称。 名称可以像“ FjwaS”之类的任何名称,不必一定是实际名称。 我想将所有这些值存储在2个不同的数组中。 telephone阵列,然后是name阵列。 我不确定该如何处理。

简单:

1-创建您的收藏

2-重复1000次

..2a-产生随机值

..2b-填充您的收藏

以下是针对上述问题的非常基本实现的代码。 以后,您可以使用所需的集合。 MAX的值更改为所需的长度。 主要工作由randomInt()randomString()函数完成。

import java.util.*;

public class RandomDirectoryCreation
{
    static final String alphabets = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    public static void main(String[] args)
    {
        final int MAX = 10;

        String[] name = new String[MAX];
        int[] telephone = new int[MAX];

        for(int i=0; i<MAX; i++)
        {
            name[i] = randomString(5);
            telephone[i] = randomInt(1000000, 9999999);
        }

        for(int i=0; i<MAX; i++)
        {
            System.out.println("Name: " + name[i] + " Telephone: " + telephone[i]);
        }
    }

    public static int randomInt(int min, int max) {
        Random rand = new Random();
        int randomNum = rand.nextInt((max - min) + 1) + min;
        return randomNum;
    }

    public static String randomString(int len) 
    {
        Random rand = new Random();
        StringBuilder word = new StringBuilder(len);
        for( int i = 0; i < len; i++) {
            word.append( alphabets.charAt(rand.nextInt(alphabets.length())));
        }
        return word.toString();
    }
}

样本输出:

Name: kBbSL Telephone: 4152479
Name: GOEat Telephone: 7473373
Name: KRBPq Telephone: 8346073
Name: yqjpu Telephone: 7553636
Name: yvRBA Telephone: 2133757
Name: ajUBg Telephone: 3826625
Name: BhBVr Telephone: 5714195
Name: AvNYB Telephone: 6179815
Name: DfsxM Telephone: 6611458
Name: gJRka Telephone: 2114751

参考文献:

  1. 如何在Java中生成特定范围内的随机整数?

  2. 如何生成随机的字母数字字符串?

为什么要重新发明轮子? 您可以使用Apache Commons中的RandomStringUtils

import org.apache.commons.lang3.RandomStringUtils;
import java.util.Arrays;


public class Main {

    public static void main(String[] args) {

        String[] names = new String[1000];
        String[] telephones = new String[1000];

        for (int i=0; i<1000; i++) {
            String randomName = RandomStringUtils.randomAlphabetic(5);
            names[i] = randomName;

            String randomTelephone = RandomStringUtils.randomNumeric(7);  
            telephones[i] = randomTelephone;
        }

        System.out.println(Arrays.toString(names));
        System.out.println(Arrays.toString(telephones));

    }
}

我已将其编写为生成随机字符串,您可以根据需要进行更改:

import java.util.Random;

public class randomWord 
{   
    public static void main(String args[])
    {
        Random charp = new Random();

        String[] chars = {"a", "b", "c", "d", "e", "f", "g", "h" ,"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "M", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "1", "2", "3", "4", "5", "6", "7", "8", "9"};

        String[] word = new String[9];

        for(int i = 0; i < 9;i++)
        {
            word[i] = chars[charp.nextInt(70)];
        }

        System.out.print("Your randomly generated string is: ");

        for(int i = 0; i < 9;i++)
        {
            System.out.print(word[i]);
        }


        Random number = new Random();

        System.out.println("\nRandom number: "+number.nextInt(6));

    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM