java - 制作一个数组排序器

标签 java exception

我正在尝试制作一个数组排序器。但我收到一个错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7

我不知道如何解决它。如果我删除带有箭头的行,则代码可以工作,但它不会交换。我做错了什么?

感谢您的帮助!

public class Main {

    public static void main(String[] args) {
        int[] list = {5, 3, 7, 2, 4, 8};

        for (int i = 0; i < list.length; i = i + 2) {
            if (i != list.length - 1) {

                if (list[i] > list[i + 1]) {

                    int leftNumber = list[i];
                    int rightNumber = list[i + 1];

                    int src = i;
                    int temp = list[i];

                    list[i] = list[i + 1];
                    //--> list[i + 1] = list[temp];

                    System.out.println(leftNumber + " : " + rightNumber);
                    System.out.println(i + " : " + (i + 1));

                    System.out.println(Arrays.toString(list));


                } else {
                    System.out.println("Good!");
                }
            }
        }


    }



}

最佳答案

temp 不是数组索引:您为其分配了list[i],它是一个数组元素>.

关于java - 制作一个数组排序器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49071333/

相关文章:

java - 如何使用 modelmapper 将多个字段映射到一个目标字段

java - 如何将 apache avro GenericRecord 用于动态数据?

java - 部署 spring-ws Web 服务时出现 JAXB 异常

java - Spring Boot - 自定义异常处理程序

python - 在 Python 中使用 try-except-else 是一个好习惯吗?

powershell - 是否可以在 Powershell 中处理 Get-AzureManagedCache 异常?

java - 定义 Bean 时没有限定 Bean

java - Mac 上 IntelliJ ide 中出现错误 "class not found"

java - 处理异常的例子

java - 在 JTextArea 或 JTextPane 中设置文本样式