java - 用户输入int到Array然后使用冒泡排序对数字进行排序

标签 java arrays sorting bubble-sort

这是我第一次在这个博客上发帖。我是 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/

相关文章:

Java 字符串模式识别

javascript - 根据匹配的内部值 javascript 过滤 2 个数组返回

java - 按属性对自定义对象的 ArrayList 进行排序

java - 为什么出现空指针异常但我检查了没有null

java - 如何使用Spring MVC访问数据库

c++ - 由函数分配并用于创建数组 C++ 的常量变量

ios - 删除单元格后更新标签

python - 按列表中的值对字典键进行排序?

python - 按工作日对 Pandas 数据框进行排序

java - 等距图 block 选择