我根本不确定怎么做,但我想生成1000个随机生成的7位数字和5个字母的名字。名字可能像" FjwaS"什么,它不一定是一个真正的名字。我想将所有这些值存储在2个不同的数组中。 telephone
数组,然后是name
数组。我根本不确定如何处理这个问题。
答案 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
参考文献:
答案 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));
}
}