java字典排序代码 java 字典序排序

Java怎么按照汉字字典顺序给字符串排序?

//按照中文第一个字母升序排列的实现\x0d\x0aimport java.text.Collator; \x0d\x0aimport java.util.Arrays; \x0d\x0aimport java.util.Comparator; \x0d\x0apublic class test { \x0d\x0a /** \x0d\x0a * @param args \x0d\x0a */ \x0d\x0a public static void main(String[] args) { \x0d\x0a // TODO Auto-generated method stub \x0d\x0a Comparator com=Collator.getInstance(java.util.Locale.CHINA); \x0d\x0a String[] newArray={"上海","天津","广州","杭州","辽宁","南京","武汉","北京","厦门","内蒙"}; \x0d\x0a Arrays.sort(newArray,com); \x0d\x0a for(String i:newArray){ \x0d\x0a System.out.print(i+" "); \x0d\x0a } \x0d\x0a } \x0d\x0a}

创新互联主要业务有网站营销策划、成都网站制作、成都做网站、外贸营销网站建设、微信公众号开发、小程序设计、H5高端网站建设、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、成都营销网站建设资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。 

求一个java排序的程序!字典顺序的!

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));

}

}

这是我刚写的。测试结果还可以。逻辑可能不是很严谨 不过作为作业应该应付足够了

5种水果,用java来按照字典顺序排列输出

public class Fruit {

String[] fruits=new String[5];

public void inputfruit(){

Scanner input=new Scanner(System.in);

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

System.out.print("请输入第"+(i+1)+"种水果:");

fruits[i]=input.next();

}

}

public String[] getNames(){

Arrays.sort(fruits);

return fruits;

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Fruit sg=new Fruit();

String[] newFruits=new String[5];

sg.inputfruit();

newFruits=sg.getNames();

System.out.println("这些水果在字典种出现的顺序是:");

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

if(newFruits[i]!=null){

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

}

}

}


分享文章:java字典排序代码 java 字典序排序
当前网址:http://scyanting.com/article/dojgdjd.html