Java字符串排序,不用数组,联系字符串操作方法
2017-07-03 00:00
323 查看
之前去面试做的一道面试题,不用数组,只是锻炼一下字符串的操作,如果有更好的写法,欢迎各位大神指出。
public class characterSorting {
public static void main(String[] args) {
//原字符串
String str="1h2h1kjhe";
//新字符串
String newStr="";
//记录最小值
char chrTemp;
//记录最小值索引
int intIndex;
//查看一下原字符串
System.out.println(str);
for(int i=0;i<str.length();){
//每次循环默认从第一位开始
i=0;
//默认最小值是当前的索引0位
chrTemp=str.charAt(i);
//取默认最小值的索引,如果不在这里赋值索引,下面做最小值位置判断会报错
intIndex=i;
for(int j=1;j<str.length();j++){
if(chrTemp>str.charAt(j)){
//循环找到最小值 并记录最小值和当前最小值的索引
chrTemp=str.charAt(j);
intIndex=j;
}
}
//把当前最小值给到新的字符串中
newStr=newStr.concat(String.valueOf(chrTemp));
//做判断 如果最小值是在字符串的最后一位
if(intIndex==str.length()-1){
//截取原字符串从索引0位到索引的
str=str.substring(0,intIndex);
}
//做判断 如果最小值不在最后一位,既最小值在字符串中间
else{
//截取原字符串从索引第0位到当前位,并连接索引当前位+1到最后,将最小值剪掉
str=str.substring(0,intIndex).concat(str.substring(intIndex+1));
}
//如果原字符串中只剩下一位,则直接将原字符串连接到新字符串中的最后
if(str.length()==1){
newStr=newStr.concat(str);
break;
}
}
//最后查看一下新字符串
System.out.println(newStr);
}
}
public class characterSorting {
public static void main(String[] args) {
//原字符串
String str="1h2h1kjhe";
//新字符串
String newStr="";
//记录最小值
char chrTemp;
//记录最小值索引
int intIndex;
//查看一下原字符串
System.out.println(str);
for(int i=0;i<str.length();){
//每次循环默认从第一位开始
i=0;
//默认最小值是当前的索引0位
chrTemp=str.charAt(i);
//取默认最小值的索引,如果不在这里赋值索引,下面做最小值位置判断会报错
intIndex=i;
for(int j=1;j<str.length();j++){
if(chrTemp>str.charAt(j)){
//循环找到最小值 并记录最小值和当前最小值的索引
chrTemp=str.charAt(j);
intIndex=j;
}
}
//把当前最小值给到新的字符串中
newStr=newStr.concat(String.valueOf(chrTemp));
//做判断 如果最小值是在字符串的最后一位
if(intIndex==str.length()-1){
//截取原字符串从索引0位到索引的
str=str.substring(0,intIndex);
}
//做判断 如果最小值不在最后一位,既最小值在字符串中间
else{
//截取原字符串从索引第0位到当前位,并连接索引当前位+1到最后,将最小值剪掉
str=str.substring(0,intIndex).concat(str.substring(intIndex+1));
}
//如果原字符串中只剩下一位,则直接将原字符串连接到新字符串中的最后
if(str.length()==1){
newStr=newStr.concat(str);
break;
}
}
//最后查看一下新字符串
System.out.println(newStr);
}
}
相关文章推荐
- 《黑马程序员》java笔记->基本数据类型包装类及自动拆箱装箱原理,数组排序练习字符串切割
- java之字符串数组排序
- java字符串数组进行大小排序
- java中排序一个字符串数组
- java 将字符串数组变为字典顺序排序后的字符串数组
- 【Java】实现浮点数组的并集以及整型数组的交集和两个字符串数组的逆序排序
- java字符串数组进行大小排序的简单实现
- java代码-----String数组进行排序。是英文的字符串
- 【Java】有个排序后的字符串数组,其中散布着一些空字符串,编写一个方法,找出给定字符串的位置
- java基础知识回顾之---java String final类普通方法的应用之字符串数组排序
- java 将字符串数组实现排序
- java基础--常用数组的一些操作方法-查找-最值-排序
- 2752:字符串数组排序问题(java语言)
- Java写的不用数组对四个数进行排序的算法
- java String[]字符串数组自动排序的简单实现
- java数组根据字符串长度排序,并根据包含关系返回最大字符串
- Java String[] 字符串数组去重,排序,toString
- Java实现字符串数组和字符串排序
- java数组、字符串比较插入及排序问题
- java中排序一个字符串数组