扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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编程实现随机数组的快速排序步骤如下:
1、打开Eclipse,新建一个Java工程,在此工程里新建一个Java类;
2、在新建的类中声明一个产生随机数的Random变量,再声明一个10个长度的int型数组;
3、将产生的随机数逐个放入到数组中;
4、利用排序算法对随机数组进行排序。
具体代码如下:
import java.util.Random;
public class Demo {
public static void main(String[] args) {
int count = 0;
Random random = new Random();
int a[] = new int[10];
while(count 10){
a[count] = random.nextInt(1000);//产生0-999的随机数
count++;
}
for (int i = 0; i a.length - 1; i++) {
int min = i;
for (int j = i + 1; j a.length; j++) {
if (a[j] a[min]) {
min = j;
}
}
if (min != i) {
int b = a[min];
a[min] = a[i];
a[i] = b;
}
}
for (int c = 0; c a.length; c++) {
System.out.print(a[c] + " ");
}
}
}
首先,API里面写了: Sorts the specified array of ints into ascending numerical order.
就是这是个升序!
其次,你这个运行应该不会报错,输出的会是 数组地址,因为数组在java里面是一个对象,如果要看排序的结果,需要遍历下:
比如
for(int i:arr){
System.out.println(i);
}
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, 6, 2, 1, 7, 9, 3 };
HashMap map = new HashMap();
for (int i = 0; i a.length; i++) {
map.put(a[i], i); // 将值和下标存入Map
}
// 排列
List list = new ArrayList();
Arrays.sort(a); // 升序排列
for (int i = 0; i a.length; i++) {
list.add(a[i]);
}
for (Object object : list) {
System.out.print(object + ",");
}
System.out.println();
// 查找原始下标
for (int i = 0; i n; i++) {
System.out.print(map.get(a[i]) + ",");
}
}
}
运行结果如下:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流