Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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 排序数组未排序_Java_Arrays_Sorting - Fatal编程技术网

Java 排序数组未排序

Java 排序数组未排序,java,arrays,sorting,Java,Arrays,Sorting,我必须设置一个数组来接受来自用户的7个数字,然后将数组按升序排序。数组没有被排序,只是按照输入的确切方式返回了值 import java.util.Scanner; public class arraySorted { public static void main(String[] args) { Scanner in = new Scanner(System.in); int [] enterednumbers = new int[7]; System.o

我必须设置一个数组来接受来自用户的7个数字,然后将数组按升序排序。数组没有被排序,只是按照输入的确切方式返回了值

import java.util.Scanner;
public class arraySorted {

public static void main(String[] args) {


    Scanner in = new Scanner(System.in);

    int [] enterednumbers = new int[7];


    System.out.println("Enter 7 numbers in any order");
    for( int i =0; i < enterednumbers.length; i++) {
    enterednumbers[i] = in.nextInt();


    }

    for (int d = 0; d < enterednumbers.length; d++) {
        System.out.print(enterednumbers[d] + " ");
    }

}
public static void sort(int enterednumbers[]) {
    int n = 7;
    int temp = 0;
    for (int i = 0; i <n; i++) {
        for (int j = i + 1; j<n; j++) {
            if (enterednumbers[i] > enterednumbers[j]) {
                temp = enterednumbers[i];
                enterednumbers[i] = enterednumbers[j];
                enterednumbers[j] = temp;

            }
        }
    }
}
}
import java.util.Scanner;
公共类数组排序{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int[]输入的数字=新的int[7];
System.out.println(“按任意顺序输入7个数字”);
对于(int i=0;i对于(int i=0;i在控制台上显示之前,您需要调用sort方法。您编写了一个排序函数,但没有在main中的任何地方调用它。在进入循环打印数组之前调用它

编辑:如果你不知道怎么做,只需添加

sort(enterednumbers);

在进入循环之前打印值,但在循环之后插入值。当然,可以使用内置的数组函数。sort(),但以您现在的方式手动编写排序实际上是一个很好的学习练习。

您需要调用函数对值进行排序。当前您没有调用该函数。您正在获取输入并显示它

import java.util.Scanner;

public class arraySorted {
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        int[] enterednumbers = new int[7];

        System.out.println("Enter 7 numbers in any order");
        for (int i = 0; i < enterednumbers.length; i++) {
            enterednumbers[i] = in.nextInt();

        }
        sort(enterednumbers);//Function Call

        for (int d = 0; d < enterednumbers.length; d++) {
            System.out.print(enterednumbers[d] + " ");
        }

    }

    public static void sort(int enterednumbers[]) {
        int n = 7;
        int temp = 0;
        for (int i = 0; i < n; i++) {
            for (int j = i + 1; j < n; j++) {
                if (enterednumbers[i] > enterednumbers[j]) {
                    temp = enterednumbers[i];
                    enterednumbers[i] = enterednumbers[j];
                    enterednumbers[j] = temp;

                }
            }
        }
    }
}
import java.util.Scanner;
公共类数组排序{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int[]输入的数字=新的int[7];
System.out.println(“按任意顺序输入7个数字”);
对于(int i=0;i输入编号[j]){
温度=输入的数字[i];
输入编号[i]=输入编号[j];
输入的数字[j]=温度;
}
}
}
}
}

您在哪里对数组进行排序?我试图将其发送到公共静态无效排序。我没有正确执行此步骤吗?您没有。简单地定义一个方法并不意味着它将永远运行。您需要在代码中的某个地方实际调用它。不要实现自己的排序。使用内置方法。对于数组,它不是硬编码<在排序方法中,code>n=7
。请改用
enteredNumber.length