Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中对数组排序,然后打印它_Java_Arrays - Fatal编程技术网

在Java中对数组排序,然后打印它

在Java中对数组排序,然后打印它,java,arrays,Java,Arrays,我的代码中有一个错误,因为排序后它没有打印数组的所有元素。有人能发现它并帮助我吗?我只在我的第五个星期的Java,所以肯定是一个新手 public class Test01 { public static void main(String[] args) { int[] arr = {1, 3, 5, 4, 2}; for (int i = 0; i < arr.length - 1; i++) { int currentMin = arr

我的代码中有一个错误,因为排序后它没有打印数组的所有元素。有人能发现它并帮助我吗?我只在我的第五个星期的Java,所以肯定是一个新手

public class Test01 {
public static void main(String[] args) {
    int[] arr = {1, 3, 5, 4, 2};        
    for (int i = 0; i < arr.length - 1; i++) { 
        int currentMin = arr[i];
        int currentMinIndex = i;

            for (int j = i + 1; j < arr.length; j++) {
                if (currentMin > arr[j]){
                    currentMin = arr[j];
                    currentMinIndex = j;
                }
            }
            if (currentMinIndex != i) {
                arr[currentMinIndex] = arr[i];
                arr[i] = currentMin;    
            }
            System.out.print(arr[i] + " ");
    }
}
}
其电流输出为: 1234

所以我只是错过了打印“5”


谢谢你的帮助

您正在运行循环,索引不足。改变

for (int i = 0; i < arr.length - 1; i++) {  // The -1 is the issue


谢谢-这似乎奏效了-我在我的教科书中使用了:for int I=0;ifor (int i = 0; i < arr.length ; i++) {
public class Test01 {
   public static void main(String[] args) {
      int[] arr = {1, 3, 5, 4, 2};
         for (int i = 0; i < arr.length; i++) {
            int currentMin = arr[i];
            int currentMinIndex = i;

            for (int j = i + 1; j < arr.length; j++) {
                if (currentMin > arr[j]){
                    currentMin = arr[j];
                    currentMinIndex = j;
                }
            }
            if (currentMinIndex != i) {
                arr[currentMinIndex] = arr[i];
                arr[i] = currentMin;
            }
            System.out.print(arr[i] + " ");
        }    
    }
}