当前位置: 代码迷 >> Java相关 >> for 循环问题,求解,不知道怎么回事?
  详细解决方案

for 循环问题,求解,不知道怎么回事?

热度:109   发布时间:2012-07-15 18:25:31.0
for 循环问题,求解,不知道怎么回事?
import java.util.*;
public class LotteryDrawing
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        int k = in.nextInt();
        int n = in.nextInt();
        int[] numbers= new int[n];
        for(int i=0;i<numbers.length;i++)
            numbers[i]=i+1;
        int[] result = new int[k];
        for(int i=0;i<result.length;i++)
        {
            int r =(int)(Math.random()*n);
            result[i]=numbers[r];
            numbers[r]=numbers[n-1];
            n--;
            
        }
   
    Arrays.sort(result);
    for(int r:result)                  //我觉得如改成for(int i:result) {System.out.println(i);}也可以输出也是对的
        System.out.println(r);         //r不是随机数吗?r  又不是从零开始怎么循环啊????
    }
}
//本人菜鸟一枚,谢谢大虾指导
搜索更多相关的解决方案: numbers  void  public  import  result  

----------------解决方案--------------------------------------------------------
int[] numbers= new int[n];
这行的n是个变量,不能作为长度。
其他的你再看看
----------------解决方案--------------------------------------------------------
int n = in.nextInt();
这不是要输入个数字吗???
输个n不就确定了吗????
----------------解决方案--------------------------------------------------------
我只想说程序木有问题
----------------解决方案--------------------------------------------------------
算了,我自己弄懂了
不过也要表示感谢
----------------解决方案--------------------------------------------------------
这个只能说
呵呵
----------------解决方案--------------------------------------------------------
for(int r:result)

这个是加强for循环    语法格式: for (<集合中元素的数据类型> <这个可以随便起名> : <存储元素的集合>) {}

----------------解决方案--------------------------------------------------------
你用for(int i/r ...) 都没关系了,这里是重新定义的int变量 ,和上面的i,r没有关系,这些变量不在同一个作用域内
----------------解决方案--------------------------------------------------------
  相关解决方案