标签:java实现 长度 sort public static 下标 ati rsa oop
public static void sort(Object[] objects){ if(objects instanceof Number[]){ for (int i = 0; i < objects.length-1; i++) { for (int j = i+1; j < objects.length; j++) { //判断前一个值是否大于后一个值 if(((Number)objects[i]).doubleValue()>((Number) objects[j]).doubleValue()){ Object temp = objects[i]; objects[i] = objects[j]; objects[j] = temp; } } } }else if(objects instanceof String[]){ for (int i = 0; i < objects.length-1; i++) { for (int x = i+1; x < objects.length; x++) { //拿到前一个String char[] charBefore = ((String)objects[i]).toCharArray(); //拿到后一个String char[] charsAfter = ((String)objects[x]).toCharArray(); //计算当前变换的String[x]的长度 int length = ((String) objects[x]).length(); //获取最短循环次数,以免下标越界 int loopNumber = ( charBefore.length > length ? length : charBefore.length ); for (int j = 0; j < loopNumber; j++) { //判断前一位的首字母是否小于后一位,例如:首字母a<首字母b则不用再比较 if((int)charBefore[j]<(int)charsAfter[j]){ break; } //判断前一位字母是否大于后一位字母,如果大于则替换位置 else if((int)charBefore[j]>(int)charsAfter[j]){ Object temp = objects[i]; objects[i] = objects[x]; objects[x] = temp; break; } //如果两个String的长度不同,最短内容的最短起始位到最短结束位 和 最长内容的最短起始位和最短结束位的这段字符串长度内容相等, // 则长度最短的放在前面,例如String a = "asd";String b = "as"; 则 字符串b排在前面 else if (j == loopNumber-1 && charBefore[loopNumber-1] == charsAfter[loopNumber-1]){ if(charBefore.length > charsAfter.length) { Object temp = objects[i]; objects[i] = objects[x]; objects[x] = temp; } } } } } } }
标签:java实现 长度 sort public static 下标 ati rsa oop
原文地址:https://www.cnblogs.com/GGYC/p/10976973.html