java实现对字符串和数字的冒泡排序
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实现对字符串和数字的冒泡排序的更多相关文章
- JAVA编程:字符串转为数字求和
程序从命令行接入数字,求和,如果接入的是字符串的解决办法 设计思想: 首先定义一个double类型的一维数组,然后在定义一个double型的变量sum,并赋值为0,用if循环判断从命令行是否有参数输入 ...
- java字符,字符串,数字之间的转换
string 和int之间的转换 string转换成int :Integer.valueOf("12") int转换成string : String.valueOf(12) ch ...
- [原]Java面试题-将字符串中数字提取出来排序后输出
[Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...
- java中字符串与数字的互相转换
import java.text.DecimalFormat; /* * String类中本身提供方法可以将几乎所有的基本类型转换为String类型 * sysout alt+/ 可以直接显示Syst ...
- Java判断一个字符串中有多少大写字母、小写字母和数字
Java判断一个字符串中有多少大写字母.小写字母和数字 思路: 大写字母就是A-Z之间,小写字母是a-z之间,数字就是0-9之间,于是做判断就好:用到的String知识点,遍历字符串, 长度方法len ...
- Java:判断字符串是否为数字的五种方法
Java:判断字符串是否为数字的五种方法 //方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str. ...
- (转载)java中判断字符串是否为数字的方法的几种方法
java中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < ...
- java复习(3)---字符串、数组
String有很多方法,复习一下,把一些很少用的稍微过遍手,加强记忆,方便以后工程上直接使用 (1)length() 返回长度 (2)indexOf() 返回字符串中字符的下标 如:s.indexO ...
- Java中用正则表达式找出数字
Java中用正则表达式找出数字 1.题目 String str = "fjd789klsd908434jk#$$%%^38488545",从中找出78990843438488 ...
随机推荐
- Swift 烧脑体操(二) - 函数的参数
前言 Swift 其实比 Objective-C 复杂很多,相对于出生于上世纪 80 年代的 Objective-C 来说,Swift 融入了大量新特性.这也使得我们学习掌握这门语言变得相对来说更加困 ...
- 《程序员代码面试指南》第八章 数组和矩阵问题 数组的partition 调整
题目 数组的partition 调整 java代码 package com.lizhouwei.chapter8; /** * @Description: 数组的partition 调整 * @Aut ...
- BZOJ 3362 Navigation Nightmare
一道带权并查集题目. 带权并查集的重点是信息的合并. 这类题出现得并不多,练习一下. #include<bits/stdc++.h> using namespace std; #defin ...
- jquery 用addClass之后 class有对应的事件,为什么要重新绑定一下事件呢
假设有元素A,B,C,其中A和B都有class属性cls,如果在页面加载完成时,给具有class属性为cls的元素绑定某一事件,例如click,执行事件时调用alert.也就是说,页面加载完成后A和B ...
- 如何在VMware Workstation上安装CentOS_7
1.首先打开VMware Workstation-文件-新建虚拟机 2.选择自定义向导,下一步. 3.由于我的软件版本比较高,不想太多硬件限制就选了版本11.也可以选择低一些版本的,这样兼容性会更好, ...
- CSS+HTML+JQuery简单菜单
1. [代码]style <style type="text/css"> body,ul,li,a{ margin:0; paddin ...
- leetcode 19. Remove Nth Node From End of List(链表)
Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...
- PC样式reset参考
/* html5doctor.com Reset Stylesheet */ * { padding:; margin:; list-style: none; } html, body, div, s ...
- HihoCoder1654: XY游戏([Offer收割]编程练习赛39)(好久没写搜索)(已经超级简短了)
描述 如下图所示,在4x4的棋盘上有X和Y两种棋子各若干枚:O表示空格. OXXY YOOX XOOY XOXX 小Hi每次可以选择任意一枚棋子,将它移动到上下左右相邻的空格中. 小Hi想知道最少移动 ...
- MySQL_各城市在线产品天订单数据20161130
#sealreport010 `tb010_02d`各城市在线产品天订单数据 #sealreport010 `tb010_02d`各城市在线产品天订单数据 SELECT d.ID,a.城市,a.在线日 ...