您的位置:首页 > 编程语言 > Java开发

记录我的Java学习经历(10)

2017-10-14 23:15 253 查看
介绍

学习Java基础时做的小练习分享,请大家批评指正!

String类的小练习

这道题用str+=”字符串”的方法呢,比较耗费资源(哈哈高端不,其实是懒),那就用StringBuilder方法去做(因为有append方法拼接很方便很方便,用熟了以后再IO流对字符串拼接也很方便),规则:

定义main方法,方法内完成:

定义长度为26,元素值为26个大写英文字母的数组chs

传递数组chs调用getStr(char[] chs)方法,获取返回值,并在控制台打印返回值

定义String getStr(char[] chs)方法

功能描述:获取长度为5的随机字符串,字符串由随机的4个大写英文字母

和1个0-9之间(包含0和9)的整数完成

代码:

public class Task05 {
public static void main(String[] args) {
char[] chs = new char[26];//定义字符串数组,无言
for (int i = 0; i < chs.length; i++) {//这里用for循环对26个字符数组进行赋值
chs[i] = (char)('A'+i);//A~Z
}
String get = getStr(chs);//调用方法啦
System.out.println(get);//搞定输出

}
//方法一:
public static String getStr(char[] chs) {
Random r = new Random();//随机数,别忘了导包
StringBuilder sb = new StringBuilder();//new一个Stringbuilder,一定要在for循环外new,不然白拼接了
for (int i = 0; i < 4; i++) {//只循环4次,为啥,因为题目说由4个字母和1个数字组成
sb.append(chs[r.nextInt(26)]);//从字符数组中随机一个出来,为啥是26?因为数组0~25就是26个字母啊~写27会越界异常哦
}
return sb.append(r.nextInt(10)).toString();//拼接上0~9随机一个数再调用toString方法就可以返回啦~
}
//方法二:
public static String getStr2(char[] chs) {
Random r = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 4; i++) {
sb.append(chs[r.nextInt(26)]);
}
int a = r.nextInt(4);
int b = r.nextInt(10);
sb.insert(a, b);//用StringBuilder的insert方法,将一个0-9的随机数插入随机一个地方,
return sb.toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java