本文目錄一覽:
如何用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)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152662.html