Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按数字顺序排列的数组(不导入array.sort()选项)_Java_Arrays_Numerical - Fatal编程技术网

Java 按数字顺序排列的数组(不导入array.sort()选项)

Java 按数字顺序排列的数组(不导入array.sort()选项),java,arrays,numerical,Java,Arrays,Numerical,我想按数字顺序对两个数组进行排序。因此,如果我输入类似于:962142495,它将给我一个输出:1424996 您将如何使用for循环来实现这一点?我正在尝试实现一个基本的for循环,以使我的数字在数字上上升 代码如下: public static void main(String[] args) { System.out.println("Input up to '10' numbers for current array: "); int[] array1 = new i

我想按数字顺序对两个数组进行排序。因此,如果我输入类似于:
962142495
,它将给我一个输出:
1424996

您将如何使用for循环来实现这一点?我正在尝试实现一个基本的for循环,以使我的数字在数字上上升

代码如下:

public static void main(String[] args) {

    System.out.println("Input up to '10' numbers for current array: ");

    int[] array1 = new int[10];
    int i;
    int k;
    Scanner scan = new Scanner(System.in);

    for (i = 0; i < 10; i++) {
        System.out.println("Input a number for " + (i + 1) + ": ");
        int input = scan.nextInt();
        if (input == -9000) {
            break;
        } else {
            array1[i] = input;
        }
    }

    System.out.println("\n" + "Array 1: ");

    for (int j = 0; j < i; j++) {

        System.out.println((j + 1) + ": " + array1[j]);
    }

    int[] array2 = new int[i];

    System.out.println("\n" + "Array 2: ");

    for (int j = 0; j < i; j++) {
        array2[j] = array1[j];

        System.out.println((j + 1) + ": " + array2[j]);
    }
    scan.close();

  }
}
publicstaticvoidmain(字符串[]args){
System.out.println(“为当前数组最多输入'10'个数字:”;
int[]数组1=新int[10];
int i;
int k;
扫描仪扫描=新扫描仪(System.in);
对于(i=0;i<10;i++){
System.out.println(“为“+(i+1)+”输入一个数字:”;
int input=scan.nextInt();
如果(输入==-9000){
打破
}否则{
阵列1[i]=输入;
}
}
System.out.println(“\n”+”数组1:”;
对于(int j=0;j
有许多方法可以解决此任务。每种算法都在速度和复杂性之间进行权衡。最简单的排序算法是。冒泡排序效率很低,但如果处理小数组,则使用冒泡排序是完全合理的。

使用冒泡排序。您将被要求使用2进行循环

冒泡排序的复杂性是
O(n2)


阅读…你需要两个嵌套的循环来完成一个简单的循环。我仍然不明白它是如何工作的。你能告诉我如何用我的代码实现冒泡排序吗?
package com.*;

import java.util.Scanner;

public class Sort {

    public static void main(String[] args) {
        int n, c, d, swap;
        Scanner in = new Scanner(System.in);

        System.out.println("Input number of integers to sort");
        n = in.nextInt();

        int array[] = new int[n];

        System.out.println("Enter " + n + " integers");

        for (c = 0 ; c < n ; c++)
            array[c] = in.nextInt();

        for (c = 0 ; c < (n - 1) ; c++) {
            for (d = 0 ; d < n - c - 1 ; d++) {
                if (array[d] > array[d + 1]) /* For descending order use < */
                {
                    swap = array[d];
                    array[d] = array[d + 1];
                    array[d + 1] = swap;
                }
            }
        }

        System.out.println("Sorted list of numbers");

        for (c = 0 ; c < n ; c++)
            System.out.println(array[c]);
    }
}
Input number of integers to sort
5
Enter 5 integers
96
2
1
42
49
Sorted list of numbers
1
2
42
49
96