JAVA数字和字母混合排序 JAVA排序数字字母混合

\u5728EXCEL\u4e2d\u5982\u4f55\u5c06\u6570\u5b57\u548c\u5b57\u6bcd\u4e00\u8d77\u6392\u5e8f

\u5de5\u5177/\u539f\u6599
excel \u7535\u8111
\u65b9\u6cd5/\u6b65\u9aa4
1\u3001\u9996\u5148\u6253\u5f00excel\u8868\u683c\uff0c\u9009\u4e2d\u8981\u8fdb\u884c\u6392\u5217\u7684\u5355\u5143\u5217\uff0c\u70b9\u51fb\u201c\u5f00\u59cb\u2014\u6392\u5e8f\u201d\uff0c\u9009\u62e9\u5347\u5e8f\u6216\u964d\u5e8f\uff0c\u5f39\u51fa\u7a97\u53e3\u4e2d\u70b9\u51fb\u201d\u786e\u5b9a\u201c\u3002

2\u3001\u9009\u4e2d\u8fd9\u5217\u5355\u5143\u683c\uff0c\u70b9\u51fb\u201c\u6570\u636e\u2014\u2014\u5206\u5217\u201d\u3002

3\u3001\u5f39\u51fa\u65b0\u5bf9\u8bdd\u6846\uff0c\u52fe\u9009\u201c\u56fa\u5b9a\u5bbd\u5ea6\u201d\uff0c\u70b9\u51fb\u201d\u4e0b\u4e00\u6b65\u201c\u3002

4\u3001\u51fa\u73b0\u6807\u5c3a\uff0c\u4ece\u6700\u5de6\u4fa7\u5f80\u53f3\u62c9\uff0c\u7528\u6807\u5c3a\u7ebf\u5c06\u5b57\u6bcd\u548c\u6570\u5b57\u5206\u5f00\uff0c\u70b9\u51fb\u201d\u4e0b\u4e00\u6b65\u201c\u3002

5\u3001\u5728\u76ee\u6807\u533a\u57df\u4e2d\uff0c\u9009\u62e9\u5355\u5143\u683c\u533a\u57df\uff0c\u70b9\u51fb\u201d\u5b8c\u6210\u201d\u3002

6\u3001\u9009\u4e2dCD\u4e24\u5217\u7684\u6570\u636e\uff0c\u70b9\u51fb\u201c\u5f00\u59cb\u2014\u6392\u5e8f\u2014\u2014\u81ea\u5b9a\u4e49\u6392\u5e8f\u201d\uff0c\u9009\u62e9\u5347\u5e8f\u6392\u5217\u3002

7\u3001\u70b9\u51fb\u201c\u786e\u5b9a\u201d\u3002

8\u3001\u5c06\u6570\u5b57\u548c\u5b57\u6bcd\u6392\u5217\u5b8c\u6210\uff0c\u5c06CD\u4e24\u5217\u5220\u9664\u5373\u53ef\u3002

import java.util.ArrayList;import java.util.List;public class Sort {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString[] nums = { "100A", "98.5", "98.5A", "34", "52", "100", "98","98.5B" };// \u5192\u6ce1\u6392\u5e8f\u6cd5\u6392\u5e8ffor (int i = 0; i = 65&& (int) (nums[j].toCharArray()[nums[j].length() - 1]) = 65&& (int) (nums[j + 1].toCharArray()[nums[j + 1].length() - 1]) ascii2) {String temp = nums[j];nums[j] = nums[j + 1];nums[j + 1] = temp;}} else if (!char1 && char2) {// \u5982\u679c\u540e\u9762\u4e00\u4e2a\u6570\u5b57\u6709\u5b57\u6bcdString temp = nums[j];nums[j] = nums[j + 1];nums[j + 1] = temp;}}}}for (int i = 0; i < nums.length; i++) {System.out.println(nums[i]);}}}
\u6211\u4e3a\u4e86\u8d4b\u503c\u65b9\u4fbf\uff0c\u7528\u7684\u662fString\u6570\u7ec4\uff0c\u4f46\u662f\u8ddf\u7528list\u6ca1\u6709\u533a\u522b\uff0c\u65b9\u6cd5\u8fd8\u662f\u4e00\u6837\u7684\uff0c\u53ea\u662f\u83b7\u53d6\u957f\u5ea6\u7684\u65f6\u5019\u8c03\u7684\u65b9\u6cd5\u4e0d\u540c\u3002\u6570\u7ec4\u7528.length, list\u7528\u7684\u662f.size()\u3002

SELECT *

  FROM (SELECT TO_CHAR(LEVEL) BUS_NO

          FROM DUAL

        CONNECT BY LEVEL <= 10

        UNION ALL

        SELECT 'K' || LEVEL FROM DUAL CONNECT BY LEVEL <= 10)

 ORDER BY (CASE

            WHEN INSTR(BUS_NO, 'K') <> 0 THEN

             TO_NUMBER(SUBSTR(BUS_NO, 2, LENGTH(BUS_NO) - 1))

            ELSE

             TO_NUMBER(BUS_NO)

          END)

你主要看order by 后边的东西就可以了,不需要java来处理sql直接可以处理的



public class Test
{
/**
* 混合字串数组排序。
* @param mixedStringArray 混合字串数组。必需是:{"3","K3","4","5","K4","K5"}类似;
* @return 排序后数组
*/
public static String[] sortMixedStringArray(String[] mixedStringArray)
{
String temString = null;
for (int i = 0,aLength = mixedStringArray.length; i < aLength; i++) {
for (int j = i+1; j < aLength; j++) {
if(getNumberInString(mixedStringArray[i],"K") > getNumberInString(mixedStringArray[j],"K"))
{
temString = mixedStringArray[i];
mixedStringArray[i] = mixedStringArray[j];
mixedStringArray[j] = temString;
}
}
}
temString = null;
return mixedStringArray;
}

/**
* 截取字串的第一位,保留字串中剩下的数字
* @param str 字串
* @param firstLetter
* @return 数字
*/
public static int getNumberInString(String str,String firstLetter)
{

int _int =0;
if(str.indexOf( String.valueOf(firstLetter)) == 0)
{
_int = Integer.valueOf(str.substring(1));
}else {
_int = Integer.valueOf(str);
}
return _int;
}

public static void main(String[] args) {
String[] str = {
"3",
"5",
"12",
"88",
"K3",
"K5",
"K12",
"K88"};

System.out.println(Arrays.toString(str));
System.out.println(Arrays.toString( sortMixedStringArray(str)));
}
}

疑问,3后面是不是肯定会出现K3

  • java鎬庝箞灏瀛楁瘝鏁板瓧缁勫悎鎺掑簭
    绛旓細System.out.println();} else {// 澶氫釜鍏鎺掑垪 for (int i = start; i <= end; i++) { char temp = source[start];// 閫愪綅浜ゆ崲 source[start] = source[i];source[i] = temp;perm(source, start + 1, end);// 閫掑綊鍏ㄦ帓鍒 // 杩樺師锛屼负涓嬩釜鏇挎崲鍋氬噯澶 temp = source[start];...
  • JAVA鎺掑簭鏁板瓧瀛楁瘝娣峰悎
    绛旓細import java.util.ArrayList;import java.util.List;public class Sort {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString[] nums = { "100A", "98.5", "98.5A", "34", "52", "100", "98","98.5B" };// 鍐掓场鎺掑簭娉...
  • JAVA鏁板瓧鍜屽瓧姣嶆贩鍚堟帓搴
    绛旓細浣犱富瑕佺湅order by 鍚庤竟鐨勪笢瑗垮氨鍙互浜,涓嶉渶瑕java鏉ュ鐞唖ql鐩存帴鍙互澶勭悊鐨
  • java瀹炵幇瀛楁瘝 鏁板瓧 娣峰悎鎺掑簭 瀹炵幇缁撴灉: java1 java2 java3 00java 1234...
    绛旓細String绫诲疄鐜颁簡Comparable鎺ュ彛锛屽叾compareTo鏂规硶涓畾涔夌殑鏄寜璇ュ瓧绗︿覆鐨勨滃瓧鍏搁『搴忊濇瘮杈冨ぇ灏忥紝鍦ㄨ繖涓瓧鍏镐腑锛岄噰鐢ㄩ氱敤鐨勯『搴忥紝鐩存帴姣斿悇涓崟涓殑瀛楃鐨勫ぇ灏忥紝鍗鏁板瓧姣瀛楁瘝灏忋傝孋ollections.sort()鏂规硶姝f槸鍩轰簬Comparable鎺ュ彛鐨刢ompareTo鏂规硶姣旇緝澶у皬鐨勩傛墍浠ヤ綘浼氬緱鍒拌繖涓粨鏋溿傚鏋滆閲嶅畾涔夐『搴忥紝鍦ㄤ竴鑸儏鍐典笅锛...
  • java鏁板瓧瀛楁瘝娣峰悎瀛楃涓鎺掑簭
    绛旓細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(...
  • 浣跨敤JAVA缂栫▼:鎺ユ敹浜斾綅瀛﹀憳鐨勭紪鍙(瀛楁瘝鍜屾暟瀛缁勬垚鐨勫瓧绗︿覆),瀹炵幇鎺掑簭...
    绛旓細Ea = 0.8;m=2;n0=100000;[s,t]=meshgrid(303:2:403,200:20:5000);n=exp(-Ea./(k.*303)).*n0./exp(-Ea./(k.*s));f=m./n.*((t./n).^(m-1)).*exp(-(t./n).^m);surf(t,s,f);view([1,0.2,1]);figure;[C,h]=contour(t,f,s,10,'LineWidth',2);c...
  • java 鏁版嵁涓寘鍚瓧绗︿覆鍜鏁板瓧鏃跺浣鎺掑簭
    绛旓細鎶鏁板瓧杞垚String鍨嬬殑鐒跺悗鎶婂畠浠叏閮芥斁鍏ヤ竴涓猄tring鏁扮粍閲 鐒跺悗璋冪敤Arrays.sort(String[]);杩欐牱灏变細鎶婁綘鐨勮繖涓暟缁勮繘琛鎺掑簭銆傘傘
  • Java 缁欎竴缁瀛楁瘝缁勫悎銆傛寜鍏朵釜鏁版帓搴銆傛柊鎵嬫眰甯繖
    绛旓細import java.util.Arrays;import java.util.Comparator;public class Test{public static void main(String[] args){String[] arrays = { "almn", "fba", "cba", "aa", "ab", "bb", "sadfafda", "kadfafda", "cc" };Arrays.sort(arrays, new Comparator<String>(){public int compare...
  • java瀹炵幇abcdgf瀹夐『搴鎺掑簭
    绛旓細{sort();}//adcdef 鎺掑簭static void sort(){char[] chr={'d','a','c','e','f','b'};System.out.println("鎺掑簭鍓");printAry(chr);for(int i=0;i<chr.length;i++){char c;for(int j=i+1;j<chr.length;j++){if (chr[i]>chr[j]){c=chr[i];chr[i]=chr[j]...
  • java涓鎬庝箞瀵硅嫳鏂瀛楁瘝杩涜鎺掑簭?
    绛旓細鍦java涓瀵硅嫳鏂瀛楁瘝杩涜姣旇緝鐨勬椂鍊欙紝鍦╦ava铏氭嫙鏈轰腑锛屼粬棣栧厛浼氳浆鎹㈡垚ASII鏉ヨ繘琛屾瘮杈冿紝鎵浠ュ彲浠ョ洿鎺ュ啓锛屽鏋滄槸澶у啓鍜屽皬鍐欑殑姣旇緝鐨勮瘽锛屽ぇ鍐欒鍔犱笂涓瀹氱殑鏁板瓧锛屾墠鑳借繘琛屾瘮杈冿紝濡傛灉瀚岄夯鐑︼紝浣犱篃鍙互灏嗗ぇ鍐欒浆鍖栨垚灏忓啓杩涜姣旇緝锛岄噰鐢ㄥ啋娉℃硶鎺掑簭鍚
  • 扩展阅读:java数字大小排序代码 ... java 输入数字排序 ... java对字母进行排序 ... java字母转换为数字 ... java怎么给字母排序 ... 数字和字母间的二把手 ... java数字从小到大排序 ... java字符串按字母排序 ... java字符串数字比较大小 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网