手记

java第三季——随机字符串排序

  1. 题目要求:要求随机产生10个字符串,要求十个字符串长度不超过10
    因为String类的长度固定,不可变,我实现的时候主要思路就是利用StringBuilder类长度的可变性,产出不固定字符串,利用StringBuilder对象的append()方法,将随机产生的字符添加到字符串中。达到随机产生字符串的目的
    代码如下:
    package com.imooc;

import java.util.Arrays;
import java.util.Random;

public class nuvalue_String {
public static void main(String[] args) {
//创建StringBuilder对象用于接收产生的字符
StringBuilder str=new StringBuilder();
//用String数组储存产生的十个字符串
String[] string=new String[10];
//用一个int数组储存各个字符串的字符个数
int[]integers=new int[10];
Random random=new Random();
//随机产生每个字符串的长度要求1~10个字符
for(int i=0;i<integers.length;i++)
{
integers[i]=random.nextInt(10)+1;
}
for(int i=0;i<integers.length;i++)
{
for(int j=0;j<integers[i];j++)
{
//调用StringBuilder对象的append()方法,将随机产生的字符添加到字符串中。
if(random.nextInt(2)==1)
str.append((char)(random.nextInt(26)+'a'));//小写字母
else
str.append((char)(random.nextInt(26)+'A'));//大写字母
}
//将产生的StringBuilder字符串转化为String,并存储到数组中。
string[i]=str.toString();
//清空StringBuilder字符串,进行下一次操作
str.delete(0,str.length());
}
System.out.println("排序前:");
//打印输出
for(int i=0;i<string.length;i++){
System.out.println("字符串["+(i+1)+"]:"+string[i]);
}
System.out.println("排序后:");
//排序
Arrays.sort(string);
//再次打印
for(int i=0;i<string.length;i++){
System.out.println("字符串["+(i+1)+"]:"+string[i]);
}
}
}

1人推荐
随时随地看视频
慕课网APP