首页 > 电脑

java编写为什么不体现原字符排序

更新时间2019-01-28 09:04:27

import java.util.Arrays;

public class A5_2 {

public static void main(String[] args) {

char[] arr=new char[] {'a','c','u','b','e','p','f','z'};

System.out.println("原字符排序;"+arr);

Arrays.sort(arr);

System.out.print("升序排列后;");

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

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

}

System.out.println(" ");

System.out.print("降序排列后;");

for(int i=arr.length-1;i>=0;i--) {

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

}

}

}


//这个绝对满足您的要求import java.util.Arrays;public class StringSort {public static void main(String[] args) {String ss[]={"ab","wang","hi","a","abff"};MyString mySs[]=new MyString[ss.length];//创建自定义排序的数组for (int i = 0; i < ss.length; i++) {mySs[i]=new MyString(ss[i]);}Arrays.sort(mySs);//排序for (int i = 0; i < mySs.length; i++) {System.out.println(mySs[i].s);}}}class MyString implements Comparable<MyString>{public String s;//包装Stringpublic MyString(String s) {this.s = s;}@Overridepublic int compareTo(MyString o) {if(o==null||o.s==null) return 1;if(s.length()>o.s.length()) return 1;else if(s.length()<o.s.length()) return -1;return s.compareTo(o.s);}}

main后面有两个大括号,编译怎么可能没问题,你在这里提问的时候多打了一个吧!!!
你的错误是没有下一个元素了,意思是里面的东西你分割出来的时候没有3个,就是没有分割开。由于不知道你Toys.txt里面到底是怎么打的,有没有  我也不知道,反正你debug一下,自己看看哪里没分割开

相关标签:java

上一篇:NoSuchElementException可以对文件做判断吗?

下一篇:为什么for死循环了