存储7随机生成的数字&数组Java中的名称

时间:2015-03-20 01:09:32

标签: java arrays random

我根本不确定怎么做,但我想生成1000个随机生成的7位数字和5个字母的名字。名字可能像" FjwaS"什么,它不一定是一个真正的名字。我想将所有这些值存储在2个不同的数组中。 telephone数组,然后是name数组。我根本不确定如何处理这个问题。

4 个答案:

答案 0 :(得分:1)

易:

1 - 创建您的收藏

2 - 迭代1000次

.. 2a - 生成随机值

.. 2b - 填充您的收藏

答案 1 :(得分:1)

以下是针对上述问题的基本实现的代码。之后,您可以使用所需的集合。将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. How do I generate random integers within a specific range in Java?

  2. How to generate a random alpha-numeric string?

答案 2 :(得分:0)

为什么重新发明轮子?您可以使用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));

    }
}

答案 3 :(得分:0)

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

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));

    }

}