Java 数组排序:为什么输出的数少一个?
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]+" ");
}
}
这样就会正确输出排序后的所有数。
原文地址: https://www.cveoy.top/t/topic/V29 著作权归作者所有。请勿转载和采集!