//按照中文第一个字母升序排列的实现
创新互联专注于蕉岭网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供蕉岭营销型网站建设,蕉岭网站制作、蕉岭网页设计、蕉岭网站官网定制、小程序制作服务,打造蕉岭网络公司原创品牌,更为您提供蕉岭网站排名全网营销落地服务。
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ComparatorObject com=Collator.getInstance(java.util.Locale.CHINA);
String[] newArray={"上海","天津","广州","杭州","辽宁","南京","武汉","北京","厦门","内蒙"};
Arrays.sort(newArray,com);
for(String i:newArray){
System.out.print(i+" ");
}
}
}
import java.util.Arrays;
import java.util.Scanner;
//必须实现Comparable接口
public class Word implements ComparableWord{
private final String word;
public String getWord() {
return word;
}
//构造器什么的无视吧
public Word(String word) {
if(word == null)
throw new NullPointerException("不可以创造空单词!");
this.word = word;
}
//实现compareTo方法.主要的排序思路在这里
@Override
public int compareTo(Word target) {
if(target == null)
return 1;
if(target.getWord().equalsIgnoreCase(getWord()))
return 0;
char[] selfLetters = getWord().toLowerCase().toCharArray();
char[] targetLetters = target.getWord().toLowerCase().toCharArray();
int selfLength = selfLetters.length;
int targeLength =targetLetters.length;
int minLength = Math.min(selfLength, targeLength);
for(int index = 0;index minLength;index++){
if(selfLetters[index] targetLetters[index]){
return 1;
}
else if (selfLetters[index] targetLetters[index]){
return -1;
}
continue;
}
return selfLength targeLength ? 1 : -1 ;
}
//重写 ToString 方法以便打印输出
@Override
public String toString() {
return word;
}
//主方法.用来查看效果
public static void main(String[] args) {
int size = 5;//测试用的数组长度(单词数);
// 创造一个Word的数组用来保存输入的单词
Word[] words = new Word[size];
Scanner sc = new Scanner(System.in);
for(int i=0;isize;i++)
{
System.out.println("请输入第"+(i+1)+"个单词");
words[i] = new Word(sc.nextLine());
}
sc.close();//关闭流
System.out.println("排序结果为:");
//使用Arrays.sort方法排序,sort对自动调用你的compareTo方法来比较
Arrays.sort(words);
//打印出结果
System.out.println(Arrays.toString(words));
}
}
这是我刚写的。测试结果还可以。逻辑可能不是很严谨 不过作为作业应该应付足够了
package special7_2;
import java.util.*;
public class Special7_2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="";
Scanner scan=new Scanner(System.in);
ArrayListString arraylist=new ArrayListString();
while(!str.equals("#")){
str=scan.nextLine();
arraylist.add(str);
}
arraylist.remove("#");
Object[]arr=arraylist.toArray();
for(int i=0;iarraylist.size()-1;i++){
//String str1=(String)arr[i];
for(int j=0;jarraylist.size()-1-i;j++){
if(((String) arr[j]).compareTo((String) arr[j+1])0){
//swap(arr,i,j);
String temp;
temp=(String) arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;iarraylist.size();i++){
//String str1=(String)arr[i];
System.out.println(arr[i]);
}
}
/*private static void swap(Object[] arra, int i, int j) {
// TODO Auto-generated method stub
String temp = (String) arra[i];
arra[i] = arra[j];
arra[j] = temp;
}*/
}