这是我第一次在这个博客上发帖。我是 Java 新手,当用户输入一组值时,我在使用冒泡排序时遇到问题。下面是我的代码;然而,我更多地寻求建议而不是答案,因为我不会通过答案来学习语言。
感谢您的帮助,如果我的代码有点复杂,再次抱歉。顺便说一句,我刚刚开始学习 Java,所以我无法遵循非常复杂的编码建议。
import java.util.Arrays;
public class bubbleSort{
public static void main(String[] arg){
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("Enter total amount of numbers:" );
int n = input.nextInt();
int [] numbers = new int[n];
System.out.println("Enter the numbers: ");
for (int i = 0; i < n; i++) {
numbers[i] = input.nextInt();
}
System.out.println(list(n));
bubbleSort(n);
System.out.println(list(n));
}
public static void bubbleSort(int[] n){
boolean flag;
do{
flag = false;
for(int i = 0; i < n.length - 1; i++){
if (n[i] > n[i + 1]){
int temp = n[i];
n[i] = n[i + 1];
n[i + 1] = temp;
flag = true;
}
}
} while (flag);
}
}
最佳答案
当您开始引用未定义的标识符list
时,您的代码变得有点困惑。
我认为你需要:
System.out.println(Arrays.toString(numbers));
bubbleSort(numbers);
System.out.println(Arrays.toString(numbers));
而不是:
System.out.println(list(n));
bubbleSort(n);
System.out.println(list(n));
n
是输入数字的数量,而不是您想要排序的数字。 numbers
包含输入数据,并且排序更合理。
关于java - 用户输入int到Array然后使用冒泡排序对数字进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24965662/