繁体   English   中英

java 中关于选择排序的运行时错误

[英]Runtime error in java about selection sort

我已经学会了选择排序,我尝试用 java 对其进行编码。 但它有一个错误,我认为这是一个运行时错误。 我不知道要在我的代码中修复什么。

这是代码:

import java.util.Scanner;

public class Main {

    public static void main(String args[])
    {

        int temp;

        Scanner sc=new Scanner(System.in);
        int number;
        int input=sc.nextInt();
        int [] carriage;
        carriage=new int[input];
        for(int i=0;i<input;i++)
        {
            number=sc.nextInt();
            carriage[i]=number;


        }
        int n=carriage.length;
        for(int i=0;i<n-1;i++)
        {
            for(int j=i+1;i<n;j++)
            {
                if(carriage[j]<carriage[i])
                {
                    temp=carriage[i];
                    carriage[i]=carriage[j];
                    carriage[j]=temp;
                }

            }
            System.out.println(carriage[i]+ " ");
        }
        sc.close();
    }
}

我想你想对用户提供的 integer 的数量进行排序。 您的代码有 2 个错误。 for循环中的一个以i开头,条件应该是i

public class Main {

    public static void main(String args[]) {

        int temp;

        Scanner sc = new Scanner(System.in);
        int number;
        System.out.println("Enter the number of integers to be sorted - ");
        int input = sc.nextInt();
        int[] carriage;
        carriage = new int[input];
        for (int i = 0; i < input; i++) {
            System.out.println("Enter the "+ i+1 +"number  - ");
            number = sc.nextInt();
            carriage[i] = number;
        }
        int n = carriage.length;
        for (int i = 0; i < n; i++) {
            for (int j = i + 1; j < n; j++) {
                if (carriage[j] < carriage[i]) {
                    temp = carriage[i];
                    carriage[i] = carriage[j];
                    carriage[j] = temp;
                }

            }
            System.out.println(carriage[i] + " ");
        }
        sc.close();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM