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