编写一个java程序对一个字符串数组进行排序

如题所述

import java.util.Arrays;

public class StringDateSort {
public static void main(String[] args) {
String numString="23 10 -8 0 3 7 108";
String sortStr=sortNumberString(numString);
System.out.println("排序的结果是"+sortStr);
}

private static String sortNumberString(String numString) {

//1.将给定的字符串分解成多个数字格式字符串
String[] numStrings=toStringArray(numString);

//2.将字符串数组转成int数组
int[] nums=toIntArray(numStrings);

//3.对数组排序
sort(nums);

//4.将int数组转成字符串
return toString(nums);
}

private static String toString(int[] nums) {
StringBuffer stringBuffer=new StringBuffer();
for (int i = 0; i < nums.length; i++) {
if (i!=nums.length-1) {
stringBuffer.append(nums[i]+"<");
}else{
stringBuffer.append(nums[i]);
}
}
return stringBuffer.toString();
}

private static void sort(int[] nums) {
Arrays.sort(nums);
}

private static int[] toIntArray(String[] numStrings) {
int[] nums=new int[numStrings.length];
for (int i = 0; i < numStrings.length; i++) {
String s=numStrings[i];
nums[i]=Integer.parseInt(s);
}
return nums;
}

private static String[] toStringArray(String numString) {
String[] numberStr=numString.split(" ");
for (int i = 0; i < numberStr.length; i++) {
System.out.println("抽出数字"+numberStr[i]);
}
return numberStr;
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-26
字符串数组能进行排序???我只学过对int,float,double进行排序
第2个回答  推荐于2016-09-29
一个升序的算法
public static void sort(String[] str){
for(int i=0;i<str.length-1;i++){
String maxStr = str[i];
int index = i;
for(int j=i+1;j<str.length;j++){
if(maxStr.compareTo(str[j]) < 0){
maxStr = str[j];
index = j;
}
}
str[index] = str[i];
str[i] = maxStr;
}
}本回答被网友采纳
第3个回答  2011-05-26
说明白一点
第4个回答  2011-05-26
怎么排序,给个你要实现的排序规则啊。

java语言建立一个班级学生姓名的字符串数组并进行排序
import java.text.Collator;import java.util.Arrays;import java.util.Comparator;public class NameSortDemo {public static void main(String[] args) {String[] names = { "孙小美", "阿土伯", "小明", "钱夫人", "小红", "小菜" };System.out.println("排序前:");for (String name :...

用Java编写程序对字符串 按字符的ASCII值排序,并统计各种字符的个数...
\/\/ 排序,采用冒泡排序法 public static String sort(String str) { char chs[] = str.toCharArray();int size = chs.length;char temp;for (int i = 0; i < size; i++) { for (int j = size - 1; j > i; j--) { if (chs[j] < chs[j - 1]) { temp = chs[j];chs...

在java编程中如何对数组进行排序,并输出排序后的数组及原数组下标值
java变成对数组进行排序可以使用ArraySort方法,保存源数组下标值可以存入map中,如下代码:import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List;public class ceshi {public static void main(String[] args) {int n = 5;int[] a = { 8, 5, 4...

Java中,怎么打印出一个字符串的所有排列?
在Java中,生成一个字符串的所有可能排列可以通过递归算法轻松实现。核心步骤是将字符串分为两部分:首字符和剩余字符,然后对首字符与剩余部分中的每个字符进行依次交换,并对剩余部分进行递归操作。这样,每次递归都会生成一个新的排列组合。下面是通过Java代码展示的实现过程:首先,创建一个名为printPermut...

java怎么让数组的数字从大到小排序?
将数字从大到小排序的方法:例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。示例代码如下: public class Test { public static void main(String[] args) { ...

java编写程序将一个字符串数组按字典顺序重新排列中,求交换两字符串的...
把字符串转换成字符数组 ,比较数组[0]的大小就可以了 char可以隐式转换成int 直接比就可以了

java编程:任意给出一个字符串数组,按照字母的顺序将其排序输出。
int len2 = anotherString.count;int n = Math.min(len1, len2);char v1[] = this.toCharArray();;char v2[] = anotherString.toCharArray();int i = offset;int j = anotherString.offset;if (i == j) { int k = i;int lim = n + i;while (k < lim) { char c1 = v1[...

java对一数组进行排序
for(int p=str.length;p>0;p--){ switch(p-1){ case 0:vo.set7级=国际;break;case 1:vo.set6级=国家;break;case 2:vo.set5级=集团级;break;case 3:vo.set4级=省级;break;case 4:vo.set3级=市级;break;case 5:vo.set2级=主管;break;case 6:vo.set1级=姓名;break;} } ...

java中写一个方法将字符串中的数字按升序重新排序(13a64bc52)_百度知 ...
import java.util.Arrays;public class V { public static void main(String[] args) { System.out.println(sort("13a64bc52"));} private static String sort(String str) { if (str == null || "".equals(str.trim())) { return str;} char[] charArray = str.toCharArray();Arrays...

请用java语言编写排序程序。
import java.util.Date;public class SortThread {public static void main(String[] args) {\/\/产生一个随机数组int[] ary = getArray();\/\/启动冒泡排序线程new Thread(new MaoPao(ary)).start();\/\/启动快速排序线程new Thread(new KuaiSu(ary)).start();}private static int[] getArray() ...

相似回答