您的位置:

java字符串排序,java字符串排序规则

本文目录一览:

如何用java对字符串进行排序

import java.util.*;

public class  CharSort

{

private static Scanner sc=new Scanner(System.in);

private static StringBuffer sb=new StringBuffer();

public static void main(String[] args) 

{

System.out.println("\n\t\t==========字符串排序!==========\n");

init();

}//初始化!

private static void init()

{

System.out.println("请输入:");

for (; ; )

{

String a=input();

char[] arr=a.toCharArray();

Arrays.sort(arr);

sb.append(a);

print(arr,sb);

}

}

//扫描!

private static String input()

{

String a=sc.nextLine();

return a;

}

//打印!

private static void print(char[] arr,StringBuffer sb)

{

System.out.println("\n字符串排序演示:");

for (int i=0;iarr.length ;i++ )

{

System.out.print(arr[i]);

}

System.out.println("\n=====================\n倒序演示:");

System.out.print(sb.reverse());

}

}

java:字符串排序问题

public class test{

public static void main(String[] args) {

String[] str = {"acbcc","bgd","abvc","fkei","dsad","gt"};

String temp;

System.out.print("排序前数组:");

for (int i = 0; i str.length; i++) {

System.out.print(str[i]+"\t");

}

System.out.println("");

for (int i = 0; i str.length; i++) {

for (int j = 0; j str.length - i - 1; j++) {

/**冒泡排序比较说明:

1.先取出每一个元素字符串第一个字符(substring(0,1)这个就是取第一个元素的字符)

2.然后将这个字符串转换成char型(charAt(0)这个就是将一个单字符串转换成char型)

3.接着将char型字符转换成整型(这一步只要是求一个字符的ASCII码,因为ASCII码是一个整型数字,这样做是便于比较)

4.最后通过比较使用冒泡排序

*/

if ((int)(str[j].substring(0,1).charAt(0)) (int)(str[j+1].substring(0,1).charAt(0))) {

temp = str[j];

str[j] = str[j+1];

str[j+1] = temp;

}

}

}

System.out.print("排序后数组:");

for (int i = 0; i str.length; i++) {

System.out.print(str[i]+"\t");

}

}

}

java如何实现字符串比较大小排序

使用 String.compareTo 方法:

compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)

1、如果字符串相等返回值0

2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)

3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.

例:

String s1 = "abc";

String s2 = "abcd";

String s3 = "abcdfg";

String s4 = "1bcdfg";

String s5 = "cdfg";

System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)

System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)

System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)

System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)