为了账号安全,请及时绑定邮箱和手机立即绑定

前三位重复多次出现0,0,0,怎么回事,其他编码没有这样的情况

前三位重复多次出现0,0,0,怎么回事,其他编码没有这样的情况

乱也 2016-06-08 21:36:27
import java.util.Arrays;public class DD {public int[] FG(int HH){ int[] KK=new int[HH]; for(int i=0;i<KK.length;i++){ KK[i]=(int)(Math.random()*100);           Arrays.sort(KK); } return KK; }public static void main(String[] args){ DD j=new DD(); int[] C=j.FG(7); System.out.println(Arrays.toString(C)); }}
查看完整描述

3 回答

已采纳
?
qq_青枣工作室_0

TA贡献446条经验 获得超754个赞

因为你在循环内部用 Arrays.sort(KK); 修改了数组,导致每次i++后,不能按预期赋值。即第一次赋的值,被你sort排序后,放到最后一位了,而第一位变成了0;第二次赋值,再排序,第二位有变成了0。

把Arrays.sort(KK);放到for循环的外面即可解决问题。

查看完整回答
2 反对 回复 2016-06-09
?
冲啊

TA贡献15条经验 获得超3个赞

你把Arrays.sort(KK);放在return KK;前面。不要放在FOR 循环里。因为每次随机产生 一个数都在排序。正常的逻辑是:产生完KK个数据后,再从小到大排序即可。

查看完整回答
反对 回复 2016-06-11
  • 3 回答
  • 0 关注
  • 1450 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信