java生成隨機字符串

學習java comparable特性時候,定義如下Student類,需要需要隨機添加學生姓名以及學號和成績,這是java如何隨機生成名字,根據我的查詢,我找到目前java庫支持兩種方法。

1. org.apache.commons.lang3.RandomStringUtils類,他支持方法可以到RandomStringUtils查詢,其中有一個方法:

public static java.lang.String random(int count,
int start,
int end,
boolean letters,
boolean numbers)

這個方法有多個重載,我們采用以上函數,count參數表示生成字串長度,start,end表示ASCII碼列表中選取字符開始和結束位置,布爾型數據letters表示alphabet是否出現,numbers表示數字是否出現。

            tmpName = RandomStringUtils.random(10, 20, 110, true, true);System.out.println("Name generated randomly: " + tmpName);

我們可以修改函數參數參數,調用不同函數實現不同功能,例如只輸出字母后者僅僅輸出數字。

?

附注:

java中支持生成UUID,UUID一共128位bit,通過太網卡地址、納秒級時間、芯片ID碼和許多可能的數字,生成在一個時間系統里面獨一無二的標識,所以我們可以使用他來生成數據庫主鍵,例如:

            valkey = UUID.randomUUID().toString();

?

以上兩種語言應用實例如下:

import java.util.*;import org.apache.commons.lang3.RandomStringUtils;/*** Created by carl on 11/7/15.*/
class Student implements Comparable<Student> {private String name;private String key;private float score;private int age;public Student(String key, String name, float score, int age) {this.key = key;this.name = name;this.score = score;this.age = age;}@Override/*public int compareTo(Student ano) {if (this.score < ano.score)return -1;if (this.score > ano.score)return 1;else {if (this.age > ano.age)return 1;if (this.age < ano.age)return -1;elsereturn 0;}//else}//compareTo*/public int compareTo(Student ano){return (int)(this.score - ano.score);}public static List<Student> getStudents(){List<Student> col = new ArrayList<Student>();Random rand = new Random();String valkey;int valAge, valScore;String valName;for (int i = 0; i < 10; i++) {valkey = UUID.randomUUID().toString();valName = RandomStringUtils.random(10, 20, 110, true, true);valAge = rand.nextInt(80);valScore = rand.nextInt(80);col.add(new Student(valkey,valName, valAge, valScore));}return col;}public String getName(){return name;}public float getScore() {return score;}public int getAge() {return age;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", key='" + key + '\'' +", score=" + score +", age=" + age +'}';}
}//Studentpublic class ClassSort {public static void main(String []args) {//Student stu1 = new Student("wen", 90, 17);//Student stu2 = new Student("mike", 90, 18);//System.out.print("res:" + stu1.compareTo(stu2));List<Student> grade1 = Student.getStudents();Iterator<Student> iter = grade1.iterator();while(iter.hasNext()) {//iter.next();
            System.out.println(iter.next().toString());}}
}

?

轉載于:https://www.cnblogs.com/wenwangt/p/4946102.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374185.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374185.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374185.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用SharedPreferenes存取數據

//使用SharedPreference存儲數據 public void on(View view){     //獲取用戶名和密碼     String nameeditText1.getText().toString();     String numbereditText2.getText().toString();     //判斷checkBox是否為勾選      CheckBox box(CheckBox…

使用Java VisualVM分析您的應用程序

當您需要發現應用程序的哪個部分消耗更多的CPU或內存時&#xff0c;必須使用探查器執行此操作。 默認情況下&#xff0c;Sun JDK中附帶的一個探查器是Java VisualVM。 這個事件探查器非常簡單易用&#xff0c;功能強大。 在這篇文章中&#xff0c;我們將看到如何安裝它并使用它…

ArcSDE for SQL Server安裝及在ArcMap中創建ArcSDE連接

ArcSDE for SQL Server安裝及在ArcMap中創建ArcSDE連接 原文:ArcSDE for SQL Server安裝及在ArcMap中創建ArcSDE連接安裝ArcSDE for SQL Server&#xff0c;最后一步成功后的界面如下&#xff1a;在ArcMap中創建ArcSDE連接&#xff0c;截圖如下&#xff1a;posted on 2016-08-0…

java反射main方法參數注意

public class ReflectMethodMain {public static void main(String[] args) throws Exception {Method methodMainTestArgument.class.getMethod("main", String[].class);/*jdk 1.4之前的版本不支持可變參數&#xff0c;對組類的參數會自動拆包然后用來匹配數據參數…

python調用c函數傳字符串參數_Python使用ctypes模塊調用DLL函數之傳遞數值、指針與字符串參數...

在Python語言中&#xff0c;可以使用ctypes模塊調用其它如C語言編寫的動態鏈接庫DLL文件中的函數&#xff0c;在提高軟件運行效率的同時&#xff0c;也可以充分利用目前市面上各種第三方的DLL庫函數&#xff0c;以擴充Python軟件的功能及應用領域&#xff0c;減少重復編寫代碼、…

沁恒CH554 KEIL環境搭建

首先下載WCHISPTool_Setup.exe http://www.wch.cn/products/CH554.html 123這三個可下載的都下吧&#xff0c;后面開發都要用的 安裝好后運行&#xff0c;菜單欄上&#xff0c;功能->添加WCH MCU到KEIL器件庫 這時候在KEIL安裝目錄里面的UV4文件夾下可以看到wch.cdb的文件…

【CV論文閱讀】Rank Pooling for Action Recognition

這是期刊論文的版本&#xff0c;不是會議論文的版本。看了論文之后&#xff0c;只能說&#xff0c;太TM聰明了。膜拜~~ 視頻的表示方法有很多&#xff0c;一般是把它看作幀的序列。論文提出一種新的方法去表示視頻&#xff0c;用ranking function的參數編碼視頻的幀序列。它使用…

java不要在常量和變量中出現易混淆的字母

public class proposal {public static void main(String[] args) {long i1l; System.out.println("i的兩倍是&#xff1a;"(ii));System.out.println("i的兩倍是&#xff1a;"ii); //注意此處和上面的有很大的區別} }輸出&#xff1a;211/** 注意:* …

VS2019 WPF制作OTA上位機(一)新建工程

首先創建新項目&#xff0c;文件 -> 新建 -> 項目 下拉菜單選擇C#和Window&#xff0c;選擇WPF應用程序&#xff0c;下一步 輸入項目名&#xff0c;下一步 這里選擇.NET 5.0&#xff0c;也可以選擇其他的&#xff0c;個人習慣.NET&#xff0c;點擊創建 這時候出現初始…

戶籍恢復需要體檢嗎_腦梗死后腳麻能恢復嗎?需要多久能恢復呢?

腦梗死之后腳部麻木&#xff0c;這個有一部分是能夠恢復的&#xff0c;但是相對而言&#xff0c;恢復的時間比較長&#xff0c;在臨床當中出現腳麻主要是因為梗死破壞了患者的感覺神經中樞從而造成。腳部感覺麻木&#xff0c;瘙癢或者是有螞蟻在上面爬的感覺。而且有的更加嚴重…

Alpha版本測試報告

一、測試計劃 Alpha版本即將發布&#xff0c;我們組織隊員進行這一版本的測試。 測試主要針對兩方面&#xff1a;瀏覽器兼容性和功能完善性。 測試分兼容性測試與功能完善性兩部分&#xff0c;兼容性測試分Windows操作系統、Linux系操作系統、Mac OS X操作系統以及手機端Androi…

在J2SE應用程序中模擬CDI的會話和請求范圍

我們目前正在考慮將Naked Objects框架重構為使用JSR-330&#xff08;依賴注入&#xff09;和面向EE的老大哥JSR-299&#xff08;CDI&#xff09;。 使用香草JSR-330是不費吹灰之力的&#xff0c;但是我們想利用JSR-299中的一些不錯的功能&#xff08;例如事件和裝飾器&#xff…

VS2019 WPF制作OTA上位機(二)獲取bin文件路徑

OTA升級是通過無線通信遠程把bin文件內容傳輸到單片機&#xff0c;完成升級。 因此上位機需要獲取bin文件的路徑&#xff0c;讀取bin文件內容&#xff0c;將內容分割依次發送&#xff08;因為單片機的接收緩存不會開得和bin文件一樣大&#xff08;十幾K甚至幾十K&#xff09;&a…

java 線程“生產/消費”模型1

/*資源類*/ public class ShareValue {private int total;public ShareValue(int total){this.totaltotal;}//生產void putValue(int value){totalvalue;}//消費資源int getValue(int value){if(total-value>0){total-value;}else{valuetotal;total0;System.out.println(&qu…

PHP - 代碼分離

總代碼&#xff1a; <?php/** Version&#xff1a;1.0* CreateTime&#xff1a;2015年11月11日* Author&#xff1a;HF_Ultrastrong*///引入公共文件,在公共文件中創建&#xff0c;相對于項目的絕對路徑require dirname(__FILE__)./includes/common.inc.php; ?&…

原生js封裝table表格操作,獲取任意行列td,任意單行單列方法

V1.001更新增加findTable-min.js 本次更新&#xff0c;優化了代碼性能方面&#xff0c;增加了部分新功能&#xff0c;可以獲取多個table表格批量操作。 考慮到本人后面的項目中可能涉及到大量的表格操作&#xff0c;提前先封了 一個簡單的操作方法&#xff0c;日后再加完善&…

Spring陷阱:事務測試被認為是有害的

Spring殺手級功能之一是容器內集成測試 。 盡管EJB多年來一直缺乏此功能&#xff08;Java EE 6終于解決了這個問題&#xff0c;但是我還沒測試過&#xff09;&#xff0c;但是Spring從一開始就允許您從Web層開始&#xff0c;通過所有服務來測試整個堆棧。到數據庫的方式。 數據…

python xlwt寫入已有表_Python中,添加寫入數據到已經存在的Excel文件

1.安裝xlrd、xlwt、xlutilshttps://pypi.org/project/xlutils/pip安裝&#xff1a;cmd下輸入&#xff1a;pip install xlrd #讀取exclepip install xlwt #寫入exclepip install xlutils #操作 Excel 文件的實用工具&#xff0c;如復制、分割、篩選等2.代碼主要部分實現import x…

java線程“生產/消費”模型2

/* 資源類 */ class ShareValue {private int total;//判斷對象是否為空private boolean isEmptytrue;//判斷對象是否已滿private boolean isFulltrue;public ShareValue(int total) {this.total total;if(total>0) isEmptyfalse;if(total<1000) isFullfalse;}/** sync…

linux更改用戶名_破舊安卓手機第二春,在安卓手機上使用Linux_deploy運行Linux

由于服務器位于國外&#xff0c;害怕被墻掉導致數據丟失&#xff0c;所以在本地寫了腳本每小時從服務器上導出并下載到本地。但是電腦不可能二十四小時開機&#xff0c;所以很想買一個樹莓派4玩玩。但是太貴遼&#xff0c;還好搜索到了Android運行Linux的方法&#xff0c;下面記…