package com.company;

public class _02Main { public static void main(String[] args) { int []nums={38,47,56,27,32,44,69,86}; for(int i = 1;i<nums.length;i++) { for(int j = 0;j<nums.length -i;j++) { if(nums[j]>nums[j+1]) { int temp = nums[j]; nums[j] = nums[j+1]; nums[j+1] = temp; } } } for(int i = 1;i<nums.length;i++) System.out.print(nums[i]+" "); } } 为什么输出的数少一个内容:根据您提供的代码,输出的数少一个的原因是在最后的循环中,循环的起始索引应该为0而不是1。修改后的代码如下:

public class _02Main {
    public static void main(String[] args)
    {
        int []nums={38,47,56,27,32,44,69,86};
        for(int i = 0;i<nums.length;i++)
        {
            for(int j = 0;j<nums.length -i-1;j++)
            {
                if(nums[j]>nums[j+1])
                {
                    int temp = nums[j];
                    nums[j] = nums[j+1];
                    nums[j+1] = temp;
                }
            }
        }
        for(int i = 0;i<nums.length;i++) System.out.print(nums[i]+" ");
    }
}

这样就会正确输出排序后的所有数。

Java 数组排序:为什么输出的数少一个?

原文地址: https://www.cveoy.top/t/topic/V29 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录