随机生成由字母和数字组成的字符串,并按照首字母的大小来排序(不区分大小写)
记录自己java学习中的练习和问题
——————————————————————————————————————————————————————————————————————————————————————————
这里假设生成8个字符串,每个字符串由5个字符组成
Java代码实现:
package digit; import java.util.Arrays; public class String_Array_sort { public static String random_String()//生成随机字符串 { char a[] = new char[5]; for(int i = 0;i<a.length;i++) { while(true) { char c = (char)((Math.random()*(‘z‘-‘0‘+1))+‘0‘); if(Character.isDigit(c)||Character.isLetter(c)) { a[i] = c; break; } } } String result = new String(a); return result; } public static void main(String[] args) { // TODO Auto-generated method stub String s[] = new String[8];//定义字符串数组 for(int i = 0;i<s.length;i++) { s[i]=random_String(); } System.out.println("原数组\n"+Arrays.toString(s)); for(int i = 0;i<s.length;i++) //冒泡排序 { for(int j = 0;j<s.length-i-1;j++) { char c1 = s[j].charAt(0); //用charAt方法获取字符串的首字母 char c2 = s[j+1].charAt(0); c1 = Character.toLowerCase(c1);//用字符类的toLowerCase方法将字母转换为小写字母 c2 = Character.toLowerCase(c2); if(c2<c1) { String t; //冒泡排序 t=s[j]; s[j]=s[j+1]; s[j+1]=t; } } } System.out.println("排序后的字符串数组");//输出排序后的数组 System.out.println(Arrays.toString(s)); } }
关于生成随机字符串的方法,会后续记录。
原文:https://www.cnblogs.com/ziggystardust-pop/p/12287098.html