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.mzph.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;下面记…