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