Java生成隨機(jī)姓名、性別和年齡的實(shí)現(xiàn)示例
一、定義實(shí)體類Person,封裝生成的數(shù)據(jù)
package net.dc.test; public class Person { private String name; private String sex; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + '}'; } }
二、定義隨機(jī)信息類RandInfo,生成隨機(jī)數(shù)據(jù)
package net.dc.test; import java.util.Random; public class RandInfo { String familyName = "趙錢孫李周吳鄭王馮陳褚衛(wèi)蔣沈韓楊朱秦尤許何呂施張孔曹嚴(yán)華金魏陶姜戚謝鄒喻水云蘇潘葛奚范彭郎魯韋昌馬苗鳳花方俞任袁柳鮑史唐費(fèi)岑薛雷賀倪湯滕殷羅畢郝鄔安常樂于時(shí)傅卞齊康伍余元卜顧孟平" + "黃和穆蕭尹姚邵湛汪祁毛禹狄米貝明臧計(jì)成戴宋茅龐熊紀(jì)舒屈項(xiàng)祝董粱杜阮席季麻強(qiáng)賈路婁危江童顏郭梅盛林刁鐘徐邱駱高夏蔡田胡凌霍萬柯盧莫房繆干解應(yīng)宗丁宣鄧郁單杭洪包諸左石崔吉" + "龔程邢滑裴陸榮翁荀羊甄家封芮儲(chǔ)靳邴松井富烏焦巴弓牧隗山谷車侯伊寧仇祖武符劉景詹束龍葉幸司韶黎喬蒼雙聞莘勞逄姬冉宰桂牛壽通邊燕冀尚農(nóng)溫莊晏瞿茹習(xí)魚容向古戈終居衡步都耿滿弘國文東毆沃曾關(guān)紅游蓋益桓公晉楚閆"; String firstName2 = "歐陽太史端木上官司馬東方獨(dú)孤南宮萬俟聞人夏侯諸葛尉遲公羊赫連澹臺(tái)皇甫宗政濮陽公冶太叔申屠公孫慕容仲孫鐘離長孫宇文司徒鮮于司空閭丘子車亓官司寇巫馬公西顓孫壤駟公良漆雕樂正宰父谷梁拓跋夾谷軒轅令狐段干百里呼延?xùn)|郭南門羊舌微生公戶公玉公儀梁丘公仲公上公門公山公堅(jiān)左丘公伯西門公祖第五公乘貫丘公皙南榮東里東宮仲長子書子桑即墨達(dá)奚褚?guī)焻倾?; String girlName = "秀娟英華慧巧美娜靜淑惠珠翠雅芝玉萍紅娥玲芬芳燕彩春菊蘭鳳潔梅琳素云蓮真環(huán)雪榮愛妹霞香月鶯媛艷瑞凡佳嘉瓊勤珍貞莉桂娣葉璧璐婭琦晶妍茜秋珊莎錦黛青倩婷姣婉嫻瑾穎露瑤怡嬋雁蓓紈儀荷丹蓉眉君琴蕊薇菁?jí)魨乖锋架拌ョ嵢趫@藝詠卿聰瀾純毓悅昭冰爽琬茗羽希寧欣飄育瀅馥筠柔竹靄凝曉歡霄楓蕓菲寒伊亞宜可姬舒影荔枝思麗"; String boyName = "偉剛勇毅俊峰強(qiáng)軍平保東文輝力明永健世廣志義興良海山仁波寧貴福生龍?jiān)珖鴦賹W(xué)祥才發(fā)武新利清飛彬富順信子杰濤昌成康星光天達(dá)安巖中茂進(jìn)林有堅(jiān)和彪博誠先敬震振壯會(huì)思群豪心邦承樂紹功松善厚慶磊民友裕河哲江超浩亮政謙亨奇固之輪翰朗伯宏言若鳴朋斌梁棟維啟克倫翔旭鵬澤晨辰士以建家致樹炎德行時(shí)泰盛雄琛鈞冠策騰楠榕風(fēng)航弘"; public String randFamilyName() { String str = ""; int strLen; int randNum = new Random().nextInt(2) + 1; int index; if (randNum == 1) { strLen = familyName.length(); index = new Random().nextInt(strLen); str = String.valueOf(familyName.charAt(index)); } else { strLen = firstName2.length(); index = new Random().nextInt(strLen); if (index % 2 == 0) { str = firstName2.substring(index, index + 2); } else { str = firstName2.substring(index - 1, index + 1); } } return str; } public String randSex() { int randNum = new Random().nextInt(2) + 1; return randNum == 1 ? "男" : "女"; } public String randName(String sex) { String name = ""; int randNum = new Random().nextInt(2) + 1; int index; if (sex.equals("男")) { int strLen = boyName.length(); if (randNum % 2 == 0) { index = new Random().nextInt(strLen - 1); name = boyName.substring(index, index + randNum).concat("-男"); } else { index = new Random().nextInt(strLen); name = boyName.substring(index, index + randNum).concat("-男"); } } else { int strLen = girlName.length(); if (randNum % 2 == 0) { index = new Random().nextInt(strLen - 1); name = girlName.substring(index, index + randNum).concat("-女"); } else { index = new Random().nextInt(strLen); name = girlName.substring(index, index + randNum).concat("-女"); } } return name; } public int randAge() { return new Random().nextInt(4) + 18; } }
三、定義測試類TestRand,進(jìn)行測試
package net.dc.test; public class TestRand { public static void main(String[] args) { Person person = new Person(); RandInfo randInfo = new RandInfo(); for (int i = 0; i < 10; i++) { // 姓氏隨機(jī)生成 String familyName = randInfo.randFamilyName(); // 名字依托于性別產(chǎn)生 String randName = randInfo.randName(randInfo.randSex()); String[] fixed = randName.split("-"); String name = fixed[0]; String sex = fixed[1]; int age = randInfo.randAge(); person.setName(familyName.concat(name)); person.setSex(sex); person.setAge(age); System.out.println(person); } } }
測試結(jié)果:
到此這篇關(guān)于Java生成隨機(jī)姓名、性別和年齡的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Java生成隨機(jī)姓名、性別和年齡內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA查看所有的斷點(diǎn)(Breakpoints)并關(guān)閉的方式
我們在使用IDEA開發(fā)Java應(yīng)用時(shí),基本上都需要進(jìn)行打斷點(diǎn)的操作,這方便我們排查BUG,也方便我們查看設(shè)計(jì)的是否正確,不過有時(shí)候,我們不希望進(jìn)入斷點(diǎn),所以我們需要快速關(guān)閉所有斷點(diǎn),故本文給大家介紹了IDEA查看所有的斷點(diǎn)(Breakpoints)并關(guān)閉的方式2024-10-10SpringBoot實(shí)現(xiàn)接口等冪次校驗(yàn)的示例代碼
本文主要介紹了SpringBoot實(shí)現(xiàn)接口等冪次校驗(yàn)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Springboot如何實(shí)現(xiàn)自定義異常數(shù)據(jù)
這篇文章主要介紹了Springboot如何實(shí)現(xiàn)自定義異常數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09springboot如何將http轉(zhuǎn)https
這篇文章主要介紹了springboot如何將http轉(zhuǎn)https,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04maven-assembly-plugin報(bào)紅無法加載報(bào)錯(cuò):Plugin?‘maven-assembly-plugin
maven-assembly-plugin是一個(gè)常用的打包插件,但是在使用過程中經(jīng)常會(huì)遇到各種報(bào)錯(cuò),本文就來介紹一下maven-assembly-plugin報(bào)紅無法加載報(bào)錯(cuò),具有一定的參考價(jià)值2023-08-08datax-web在windows環(huán)境idea中模塊化打包部署操作步驟
這篇文章主要介紹了datax-web在windows環(huán)境idea中模塊化打包部署操作步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05舉例講解設(shè)計(jì)模式中的訪問者模式在Java編程中的運(yùn)用
這篇文章主要介紹了舉例講解設(shè)計(jì)模式中的訪問者模式在Java編程中的運(yùn)用,訪問者模式是一種將算法與對象結(jié)構(gòu)分離的軟件設(shè)計(jì)模式,需要的朋友可以參考下2016-05-05