java数字字母混合字符串排序 Java对一个字符串重新排列,字母排在前面,数字排在后面,且...
java\u6570\u5b57\u5b57\u6bcd\u6df7\u5408\u5b57\u7b26\u4e32\u6392\u5e8f\u5148\u5c06\u5b57\u7b26\u4e32\u8f6c\u6362\u6210\u5b57\u7b26\u6570\u7ec4\uff0c\u5728\u628a\u5b57\u7b26char\u9010\u4e2a\u8f6c\u6362\u6210int,\u5c31\u53ef\u4ee5\u6bd4\u8f83\u5927\u5c0f\u4e86
\u7b80\u5355\u5e2e\u4f60\u5b9e\u73b0\u4e86\u4e0b\uff0c\u6709\u95ee\u9898\u518d\u8ffd\u95ee\u3002
public static String sortArray(String str) {StringBuffer letterBuffer = new StringBuffer();StringBuffer numberBuffer = new StringBuffer();for(char c : str.toCharArray()) {if(c >= '0' && c <= '9')numberBuffer.append(c);elseletterBuffer.append(c);}return letterBuffer.toString() + numberBuffer.toString();}public static void main(String[] args) {// testString test = "1a2b3c4d";System.out.println(sortArray(test));}
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sorter {
public static void main(String[] args) {
List<String> strs = new ArrayList<String>();
strs.add("aa2");
strs.add("aa100");
strs.add("aa1");
strs.add("aa10");
strs.add("aa78");
System.out.println(strs);
// 用了一个Comparetor
Comparator<String> com = new Comparator<String>() {
public int compare(String o1, String o2) {
// 前面3个IF主要是判空的
if (o1 == o2) {
return 0;
}
if (o1 == null) {
return 1;
}
if (o2 == null) {
return -1;
}
// 这里没有做太多的判断, index 代表第几个开始是数字, 直接从后面遍历
// 比如 aa11, 我们就会判断从下标[2]开始为不是数字, 就直接截取 [2] 后面, 即11
int index = 0;
for (index = o1.length() - 1; index >= 0
&& (o1.charAt(index) >= '0' && o1.charAt(index) <= '9'); index--)
;
int num1 = Integer.parseInt(o1.substring(index + 1));
for (index = o2.length() - 1; index >= 0
&& (o2.charAt(index) >= '0' && o2.charAt(index) <= '9'); index--)
;
int num2 = Integer.parseInt(o2.substring(index + 1));
return num1 - num2;
}
};
Collections.sort(strs, com);
System.out.println(strs);
}
}
import java.util.Arrays;
public class Paixu
{
static String[] strAfter;
static int paixu(String[] str){
String zifu;
int zifuNum;
int[] shuzi;
zifu = (str[0].split("[0-9]",2))[0];
zifuNum = zifu.length();
shuzi = new int[str.length];
strAfter = new String[str.length];
for(int i=0;i<str.length;i++){
shuzi[i] = Integer.valueOf(str[i].substring(zifuNum));
}
Arrays.sort(shuzi);
for(int i=0;i<str.length;i++){
strAfter[i] = zifu + shuzi[i];
System.out.println(strAfter[i]);
}
return str.length;
}
public static void main(String[] args){
String[] str = {"asd123","asf3434","asd12","asd0"};
new Paixu().paixu(str);
}
}
输出:
asd0
asd12
asd123
asd3434
请按任意键继续. . .
说明:
字母长度相同才行...
格式固定是几个字母+几位数字吗?如果是还好办,怕的是形如这样的:aa10x58ydg92cbi9....
绛旓細鍐欎竴涓猣or寰幆锛岄鍏圓灏辨槸鏁板瓧65,杞崲鎴瀛楃灏辨槸澶у啓瀛楁瘝A锛97灏辨槸灏忓啓瀛楁瘝a锛岃繖涔堣鎺ヤ笅鏉ヤ綘搴旇鑷繁浼氫簡 鍛靛懙 瀵瑰簲鐨凚灏辨槸66 浣犳噦鐨
绛旓細public static void main(String[] args){ Test20 t = new Test20();String[] s = {"鎬荤粨鎺掑簭鍏堝悗锛氱┖鏍>鐗规畩瀛楃>鏁板瓧>澶у啓瀛楁瘝>灏忓啓瀛楁瘝>涓枃","ABCDEFG","aBCDEFG","#ABCDEFG","123BCdEF","This program was developed by Kingpo in Wuhan!","qq: 281623469","java is a object-...
绛旓細鏈夊ソ鐨勬柟娉曟彁渚涚粰浣犱簡锛屼綘灏辩洿鎺ョ敤锛屼笉瑕佹妸绠鍗曠殑闂澶嶆潅鍖栵紝鍙鐭ラ亾灏辫浜嗭紝灏辨瘮濡瀛楃涓鐨勬瘮杈冨疄璐ㄦ槸鍏堟瘮绗竴涓瀛楁瘝锛屽啀绗簩涓竴鏍凤紝鑻ュ疄鍦ㄦ槸瑕佽繘琛屽啀缁嗕竴鏂归潰鎬庝箞鎺掑簭锛屽彲浠ユ煡鐪婣PI鏂囨。锛岀湅瀛楃涓叉湁鍝簺鏂规硶锛屽啀鍦ㄨ繖浜涙柟娉曠殑鍩虹涓婅嚜宸卞姩鎵嬪幓鍐欙紝杩樹笉鏄竴鏍峰啓鐨勫嚭锛屼絾杩欓拡瀵逛綘鐨勮繖涓棶棰橈紝灏...
绛旓細java涓鐢╝rrays sort锛堬級鏂规硶灏哸bcdefg鍊掑簭锛屽彲浠ュ厛璇曠敤java鐨comparable鎺ュ彛鍏堣繘琛屾瘮杈冿紝鐒跺悗鎺掑簭锛屽疄渚嬪涓嬶細package test; import java.util.Arrays;import java.util.Comparator; public class Arraysort { public static void main(String[] args) { String s = "a,b,c,d,e,f,g"; St...
绛旓細濡傛灉浣犵殑杩欎簺鏁板瓧鏄斁鍒板悓涓涓瀛楃涓閲岄潰鐨勶紝閭e氨瑕佸厛鎷嗗垎锛岀敤绌烘牸鎷嗘垚鏁扮粍锛岀劧鍚庢瘡涓竴鍊艰皟鐢╰rim()锛屽幓鎺夌┖鏍硷紝鍐嶈皟鐢ˋrrays.sort(鏁扮粍);缁撴灉灏辫兘姝g‘鏄剧ず鍑烘潵浜 Java code ?1 2 3 4 5 6 7 8 9 10 11 12 13 14 //鍘熷瀛楃涓 ...
绛旓細return new String(chs);} // 鐢ㄥ仛缁熻鍚勭被瀛楃鏁扮洰 public static void statistic(String str) { int countOfNumber = 0;// 鏁板瓧鐨勬暟鐩 int countOfLeter = 0;// 瀛楁瘝鐨勬暟鐩 int countOfSymbol = 0;// 绗﹀彿鐨勬暟鐩 char[] chs = str.toCharArray();int size = chs.length;// 鍒ゆ柇瀛楃绫诲瀷...
绛旓細//杩欎釜缁濆婊¤冻鎮ㄧ殑瑕佹眰 import java.util.Arrays;public class StringSort { public static void main(String[] args) { String ss[]={"ab","wang","hi","a","abff"};MyString mySs[]=new MyString[ss.length];//鍒涘缓鑷畾涔鎺掑簭鐨勬暟缁 for (int i = 0; i < ss.length; i++) {...
绛旓細args) {String numString="23 10 -8 0 3 7 108";String sortStr=sortNumberString(numString);System.out.println("鎺掑簭鐨勭粨鏋滄槸"+sortStr);}private static String sortNumberString(String numString) {//1.灏嗙粰瀹氱殑瀛楃涓插垎瑙f垚澶氫釜鏁板瓧鏍煎紡瀛楃涓睸tring[] numStrings=toStringArray(numString)...
绛旓細//JAVA鍘熻鐨String姣旇緝鏂规硶 / Compares two strings lexicographically.The comparison is based on the Unicode value of each character in the strings. The character sequence represented by this String object is compared lexicographically to the character sequence represented by the argument string...
绛旓細Scanner sc = new Scanner(System.in);String text[] = new String[10];for(int i = 0 ; i < 10 ; i++){ text[i] = sc.nextLine();//鎺ユ敹10琛瀛楃涓锛屾澶刬鏁板涓鸿緭鍏ュ嚑琛岋紝鑻ヨ鏀瑰姩璇峰皢涓婇潰鐨凷tring 鏁扮粍澶у皬涔熸敼涓鸿窡i涓鏍风殑鏁板 } t.bubble(text);//璋冪敤鍐掓场鎺掑簭绠楁硶 } publ...