java编程题目,关于排序的

设计Bubble()方法,实现这样的功能: 比如string a = "536"; Bubble(a)就要输出356,即:Bubble(a)="356" 就是设计这样的Bubble方法。 请写出代码 谢谢
就是将字符的数字从小到大进行重新排列

java中本来就有已经提供的排序方法,上面的还要再写

public class TestBubble {
public static void main(String args[]){
TestBubble test=new TestBubble();
System.out.println(test.Bubble("536"));
}
public String Bubble(String str){
String result="";
char array[]=str.toCharArray();
java.util.Arrays.sort(array);//java中已有的排序
for(int j=0;j<array.length;j++){
result=result+array[j];
}
return result;
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-06
String str = "536";
String newStr ="";
char c[] = str.toCharArray();
for(int i = 0; i < c.length; i++){
for(int j = 0; j < c.length -i -1; j++){
char temp;
if(c[j]>c[j+1]){
temp = c[j];
c[j] =c[j+1];
c[j+1] =temp;
}
}

}
for(int i = 0; i < c.length; i++){
newStr += c[i];
}
System.out.println("Hell"+newStr);

可能这不是最好的方法,但真是手写,希望能帮到你
第2个回答  2012-01-06
很简单了,我只给你个思路,具体写法你自己去写,首先你得到这个a变量必须保证是由数字组成的字符串,然后在你的方法里你首先要把你的字符串一个个的拆分出来放到一个List的集合里,然后你使用java.util.Collections.sort(List<T> list) 方法对你这个集合进行升序排序,完成之后这个集合就是按升序进行排列的集合了,最后你再把这个集合的数据一个一个拼接成字符串就可以了。
第3个回答  2012-01-06
冒泡排序的。。。百度一大堆都是。追问

老兄,我这接收的是String,不是数组

追答

for(int i = 0; i<string.length;i++){
number[i] = Integer.parseInt(string.charAt(i))
}

//your bubble sort.
for(int i=0;i<number.length;i++){
result += number[i]+"";
}
return result.

第4个回答  2012-01-06
我把它写成了3个方法,你如果有需要可以合成一个,希望对你有所帮助,编译是通过的,代码可以直接使用,你可以试下.
package Test1;

public class Sequence {

/**
* @param args
*/
public static void main(String[] args) {
String tstr = "2341";
Sequence t1 = new Sequence();

System.out.println(
t1.cstr(t1.maoPao(t1.bubble(tstr)))
);

}

//字符串变数组
public int[] bubble(String str) {

int[] a=new int[str.length()];
for(int i=0;i<str.length();i++)
{
a[i]=Integer.parseInt(String.valueOf(str.charAt(i)));
}

return a;
}

// 排序
public int[] maoPao(int[] x) {

for (int i = 0; i < x.length; i++) {
for (int j = i + 1; j < x.length; j++) {
if (x[i] > x[j]) {
int temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
return x;
}

//数组变字符串
public String cstr(int[] x){
String str = "";
for (int i = 0; i < x.length; i++) {
str = str+ x[i];
}
return str;
}

}
相似回答
大家正在搜