簡體   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