Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中使用Random Generator在列表中随机生成不同的用户名和姓氏?_Java_Arraylist_Random - Fatal编程技术网

如何在java中使用Random Generator在列表中随机生成不同的用户名和姓氏?

如何在java中使用Random Generator在列表中随机生成不同的用户名和姓氏?,java,arraylist,random,Java,Arraylist,Random,我已经生成了一个用户类,其中包括名字和姓氏。我想问一下如何使用random generator生成不同的随机名称 import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class User { private String firstName; private String lastName; private int age; /** * @return the fi

我已经生成了一个用户类,其中包括名字和姓氏。我想问一下如何使用random generator生成不同的随机名称

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class User {
private String firstName;
private String lastName;
private int age;

/**
 * @return the firstName
 */
public String getFirstName() {
    return firstName;
}
/**
 * @param firstName the firstName to set
 */
public void setFirstName(String firstName) {
    this.firstName = firstName;
}
/**
 * @return the lastName
 */
public String getLastName() {
    return lastName;
}
/**
 * @param lastName the lastName to set
 */
public void setLastName(String lastName) {
    this.lastName = lastName;
}
/**
 * @return the age
 */
public int getAge() {
    return age;
}
/**
 * @param age the age to set
 */
public void setAge(int age) {
    this.age = age;
}


}

有人能给我看一些关于如何处理这个生成器的代码片段吗?请教我。谢谢。

虽然标准库不包含生成随机字符串的方法,但您可以使用
org.apache.commons.lang3
它包含
RandomStringUtils.randomsalphanumeric
和一些其他有用的方法。

您可以使用Collections.shuffle

List<String> fName = Arrays.asList("Jim", "Fred", "Baz", "Bing");
Collections.shuffle(fName );
List<String> lName = Arrays.asList("Duck", "Swan", "Cooper", "Bing");
Collections.shuffle(lName );
List fName=Arrays.asList(“Jim”、“Fred”、“Baz”、“Bing”);
收藏。洗牌(fName);
List lName=Arrays.asList(“Duck”、“Swan”、“Cooper”、“Bing”);
收藏。洗牌(lName);

如果要生成字符串,可以使用类似的方法

import java.util.HashSet;
import java.util.Set;

public class Main {

    final String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    final java.util.Random rand = new java.util.Random();

    final Set<String> identifiers = new HashSet<>();

    public String getName() {
        StringBuilder builder = new StringBuilder();
        while (builder.toString().length() == 0) {
            int length = rand.nextInt(5) + 5;
            for (int i = 0; i < length; i++) {
                builder.append(letters.charAt(rand.nextInt(letters.length())));
            }
            if (identifiers.contains(builder.toString())) {
                builder = new StringBuilder();
            }
        }
        return builder.toString();
    }

    public static void main(String[] args) {
        Main a = new Main();
        for (int i = 0; i < 10; i++) {
            System.out.println(a.getName());
        }
    }
}
import java.util.HashSet;
导入java.util.Set;
公共班机{
最后的字符串字母=“abcdefghijklmnopqrstuvxyz”;
final java.util.Random rand=new java.util.Random();
最终集标识符=新HashSet();
公共字符串getName(){
StringBuilder=新的StringBuilder();
while(builder.toString().length()=0){
int length=rand.nextInt(5)+5;
for(int i=0;i

下面的代码生成了100个长度为10的字符串

public static void main(String[] args) {
    int leftLimit = 97; // letter 'a'
    int rightLimit = 122; // letter 'z'
    int targetStringLength = 10;
    Random random = new Random();

    for(int x=1;x<=100;x++) {
        StringBuilder buffer = new StringBuilder(targetStringLength);
    for (int i = 0; i < targetStringLength; i++) {
        int randomLimitedInt = leftLimit + random.nextInt(rightLimit - leftLimit + 1);
        buffer.append((char) randomLimitedInt);
    }
    String generatedString = buffer.toString();


    System.out.println(generatedString);
    }
}


ucrahhupoy
wbvvihsvcf
inasxtyekv
hnyvuehwag
cntymnfthh
jfwqskssrj
chmqciriry
nicdlipttl
bglhilhqbp
uwatjqqymc
tdjfcatmqg
eflgaiiqlo
seyloflwtp
ynbspwpgem
ayiwbybrgj
drdxkxplrt
hwmnuhgdus
ouvurdqpgb
homcnsqjmp
usnmevzfne
pgnjrxuplh
xnorrahdfy
pgkmtfosrn
jnilgrpvel
sqmxwsfvsl
trzuqlvtcz
ylnlupikca
wlydkuzpuf
xxxjnkpjqd
kucqqrzipq
atfywxtlsc
xkyoyjhprn
fmpemwbncl
vdxzhsvecd
swbnmtwefc
jvaxxqnpsn
jldyxsqyca
kjzafkgbhh
fhvlzsnwnt
ogxcwxglsh
qbvkxakxfk
dthenridxv
nodssypxjz
pxiiqgewlb
oiktptxvjc
ejbsrdnrtr
lefghacxhv
ovljnhxwpv
jiajtejzsj
qmrndmklpz
vdkniqkliv
qptyowbqhm
dythyetfnt
prhtwsload
qywfvdxbuu
frfbrzfaxv
qinwrqhama
tjjexrylnt
osgmqmhvjf
akfkcbyclj
phiqvvvxus
nnjlmrmzhe
vuwznjhuva
aysjsiaalt
hfldzsesag
iieoorivom
qxruumxzbi
srqjzfcqbl
qwmphgytmz
zomrsdxvno
skihgctowr
kvvbwqazzw
ylmsomofvf
xotjnoeiha
aqwjejizgp
zlizdurnjv
uesltpfyza
hzvsiocmss
wytpnqkxvd
vllgqkgbey
zdmpqvlizr
eganvnkbou
joxeadhuiw
ozsiidmzaz
bhovdeuvod
xmqvveeifw
cxrnaphnip
npkgljejet
mjgptdgshv
xbbfzgjkgz
xfxvumjlzh
siihmppnda
zbjsiobxpz
lkqbzwsynr
tppanksrww
dqvvmbmtgb
uehlkcxhke
xagyduvldq
plxkorrdkj
bhghwbhncr

希望有帮助。

你可以
Random.nextInt
而不是
nextFloat
@talex,而我使用Random.nextInt()它会生成类似
୳مΡ੕λʷԧƳଋ
@secretsuperstar我是说
randomlimitedit=leftLimit+random.nextInt(righlimit-leftLimit+1)
明白了。谢谢编辑答案。请检查java中的随机相关函数,并尝试实现,一旦完成,如果出现错误,您可能会返回一个我们可以帮助您解决的实际问题。正如所写的,这个问题太宽泛了。
  public static void main(String[] args) {



        int length = 10;
        boolean useLetters = true;
        boolean useNumbers = false;
        for(int x=1;x<=10;x++) {
        String generatedString = RandomStringUtils.random(length, useLetters, useNumbers);
        System.out.println(generatedString);
        }


    }



uSkhYvaHTB
rkJiZUHSuV
gNgePMJRRh
zYzOEHroOh
RtSLGvwwjn
zNeogkmdtT
lkPFDPYOrE
SYbuurRWoV
fOYEACrTzt
SrIABcTyLM