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

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

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

}

}

代码如下(java):

importjava.util.Arrays

publicclassTest2{

publicstaticvoidmain(String[]args){

int[]a={1,1,4,4,3,3,5,3,8,0,5,1}

System.out.println("输入的数组为:"+Arrays.toString(a))

a=Arrays.stream(a).distinct().toArray()

System.out.println("删除相同后的数组为:"+Arrays.toString(a))

}

}

代码运行结果:

扩展资料

删除数组中重复的元素,在java中特别简单,特别是在java8引入streamapi之后对数组的 *** 作可以转换成stream进行 *** 作,stream提供去重的方法,能老铅对数组进行去重,然后再把stream转换回数组,就可以得到删除重复数掘指字的数组了。

参考资料判含配:百度百科-Java

public static void main(String[] args){

final int row = 2

final int col = 10

int[][] a = new int[row][col]

// 建一个用兄兆时间做种子的随机器

Random rand = new Random(System.nanoTime())

// 随机初始化数组

for (int i = 0i <row++i) {

for (int j = 0j <col++j) {

a[i][j] = rand.nextInt()

} // end for

} // end for

// 升序排列第一行

Arrays.sort(a[0])

// 没有直接的降序函数可供调用

// 先升羡扒租序排列第二行

Arrays.sort(a[1])

// 再交换第二行中的对应元素即为降序

int temp

final int maxIndex = a[1].length - 1// 第二列的最大索引此宏

for (int i = 0i <= maxIndex / 2++i) {

temp = a[1][i]

a[1][i] = a[1][maxIndex - i]

a[1][maxIndex - i] = temp

} // end for

System.out.println(Arrays.toString(a[0]))

System.out.println(Arrays.toString(a[1]))

}

你可以自己初始化数组,这里初始化为随机数是为了测试


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12500802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存