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实现对字符串和数字的冒泡排序的更多相关文章

  1. JAVA编程:字符串转为数字求和

    程序从命令行接入数字,求和,如果接入的是字符串的解决办法 设计思想: 首先定义一个double类型的一维数组,然后在定义一个double型的变量sum,并赋值为0,用if循环判断从命令行是否有参数输入 ...

  2. java字符,字符串,数字之间的转换

    string 和int之间的转换 string转换成int  :Integer.valueOf("12") int转换成string : String.valueOf(12) ch ...

  3. [原]Java面试题-将字符串中数字提取出来排序后输出

    [Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...

  4. java中字符串与数字的互相转换

    import java.text.DecimalFormat; /* * String类中本身提供方法可以将几乎所有的基本类型转换为String类型 * sysout alt+/ 可以直接显示Syst ...

  5. Java判断一个字符串中有多少大写字母、小写字母和数字

    Java判断一个字符串中有多少大写字母.小写字母和数字 思路: 大写字母就是A-Z之间,小写字母是a-z之间,数字就是0-9之间,于是做判断就好:用到的String知识点,遍历字符串, 长度方法len ...

  6. Java:判断字符串是否为数字的五种方法

    Java:判断字符串是否为数字的五种方法 //方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str. ...

  7. (转载)java中判断字符串是否为数字的方法的几种方法

    java中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < ...

  8. java复习(3)---字符串、数组

    String有很多方法,复习一下,把一些很少用的稍微过遍手,加强记忆,方便以后工程上直接使用 (1)length() 返回长度 (2)indexOf() 返回字符串中字符的下标  如:s.indexO ...

  9. Java中用正则表达式找出数字

    Java中用正则表达式找出数字 1.题目    String str = "fjd789klsd908434jk#$$%%^38488545",从中找出78990843438488 ...

随机推荐

  1. IOS 工程所支持的版本 设置

    如何设置 Base SDK 和 iOS Deployment Target ? http://leopard168.blog.163.com/blog/static/16847184420116159 ...

  2. python处理txt文件的一种情况

    在txt文本中,以换行符作为标记分段处理txt文件中的内容的方法: with open(path, 'r', encoding='utf-8') as f: for line in f: if lin ...

  3. BZOJ 1207 [HNOI2004]打鼹鼠:dp【类似最长上升子序列】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1207 题意: 有一个n*n的网格,接下来一段时间内会有m只鼹鼠出现. 第i只鼹鼠会在tim ...

  4. 第三届蓝桥杯决赛c++b组

    1.星期几 [结果填空] (满分5分)     1949年的国庆节(10月1日)是星期六.      今年(2012)的国庆节是星期一.     那么,从建国到现在,有几次国庆节正好是星期日呢? 只要 ...

  5. tflearn 在每一个epoch完毕保存模型

    关键代码:tflearn.DNN(net, checkpoint_path='model_resnet_cifar10', max_checkpoints=10, tensorboard_verbos ...

  6. SpringBoot_Exception_02_Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.6.RELEASE:run

    一.现象 上一个异常解决之后,出现了这个异常: [WARNING] The requested profile "pom.xml" could not be activated b ...

  7. codeforces 558C C. Amr and Chemistry(bfs)

    题目链接: C. Amr and Chemistry time limit per test 1 second memory limit per test 256 megabytes input st ...

  8. Laravel的三种安装方法总结

    Laravel号称巨匠级PHP框架,越来越多的PHPer选择它作为开发框架,作为一个Laravel初学者相信很多人向我一样被安装挡在了门外.所以今天结合文档和自己的学习经历总结一下Laravel的安装 ...

  9. BZOJ-1568: Blue Mary开公司 (李超线段树)

    Description Input 第一行 :一个整数N ,表示方案和询问的总数. 接下来N行,每行开头一个单词“Query”或“Project”. 若单词为Query,则后接一个整数T,表示Blue ...

  10. poj1011 Sticks[剪枝题]

    https://vjudge.net/problem/POJ-1011 此题很重要.★★★ 很欢(e)乐(xin)的一道搜索剪枝题..poj数据还是太水了,我后来想不出来剪枝方法了,就加了句掐了时间语 ...