JAVA数字和字母混合排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA数字和字母混合排序相关的知识,希望对你有一定的参考价值。

公交线路中,分为空调和非空调,如3路、K3路,现排序后显示为
3
5
12
88
K3
K5
K12
K88
想变成统一路线,即
3
K3
5
K5
12
K12
88
K88
我JAVA基本是不懂的,只能大致改改,选择排序条件的按钮上是这样的代码
<select name="sort_condition" style="width: 60px;" >
<option value="LX">
路线

在后面的代码里是这样的
String paixu="";
if("LX".equals(sort_condition))
paixu="路线"

最后SQL语句里
order by "+sort_condition

谁能帮助,我基本不懂。。。。
应该是JSP的,不是JAVA的。。。。。。

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直接可以处理的

参考技术A 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)));

本回答被提问者采纳
参考技术B 疑问,3后面是不是肯定会出现K3

以上是关于JAVA数字和字母混合排序的主要内容,如果未能解决你的问题,请参考以下文章

JS 怎么制作数字、字母、汉字混合的验证码

2.04 对字母数字的混合排序

javascript 自己实现数字字母和中文的混合排序方法 by FungLeo

MYSQL数据库字母数字混合字段排序问题

MYSQL数据库字母数字混合字段排序问题

用java实现字母与数字混合的唯一序号,且要递增