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]))
}
你可以自己初始化数组,这里初始化为随机数是为了测试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)