当前位置:编程学习 > JAVA >>

J2ME 初学者想不通最后输出不是num[i]而是num[j]

java从1-100随机提取10个不重复值

public class Test{
 public static void main(String[] args) {
  int[] num = new int[10];//存储10个生成的数据
  int i=0;//计数器 指示当前要填加到的数组下标,并指示当前已经添加了几个数
  boolean b;//判断是否重复的辅助变量
  while(i<10){
   //生成一个随机数
   int j = (int)(Math.random()*100+1);
   //将辅助变量设置为true 表示可以添加到数组
   b = true;
   //循环判断是否重复
   for(int n=0;n<i;n++){
    //如果重复,设置辅助变量为false且跳出循环
    //如果不重复则会一直将已添加的数组历遍一次
    if(num[n]==j){
     b = false;
     break;
    }
   }
   //如果可以添加 添加到存储数组 并将计数器i自加1
   if(b){
    num[i]=j;
    i++;
   }
  }
  //将结果循环输出到控制台
  for(int j=0;j<10;j++){
   System.out.println(num[j]);
  }
 }
}

--------------------编程问答-------------------- - -#,这个问题有些无语哈,

for (int j = 0; j < 10; j++) {
    System.out.println(num[j]);
}
 

你的意思是为什么不用num[i]来输出而用了num[j],你把循环中的变量改成i不就可以用num[i]了吗
补充:Java ,  J2ME
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,