A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package shuji.java1;
import java.util.*;
public class Lottery {
        public static void main(String[] args) {
                Scanner in =new Scanner(System.in);
                System.out.println("How many?");
                int k=in.nextInt();
                System.out.println("What is?");
                int n=in.nextInt();
               
                int [] numbers= new int[n];
                for (int i = 0; i < numbers.length; i++) {
                        numbers=i+1;
                }
               
                int [] result=new int[k];
                for (int i = 0; i < result.length; i++) {
                        int r=(int) (Math.random()*n);
                        result=numbers[r];
                        numbers[r]=numbers[n-1];
                        n--;
                }
               
                Arrays.sort(result);
                System.out.println("better");
                for(int r:result)
                        System.out.println(r);
        }

}
最后两行for(int r:result)
                        System.out.println(r);
的for(int r:result)理解为for(int r=0;r<result.length;r++)
System.out.println(r);怎么理解?

9 个回复

倒序浏览
for(int r:result){}代表的是
for(int i=0;i<result.length;i++){
            int r=result[i];
}
也就是说r就是从result依次取出的元素,并不是你理解的循环变量。
回复 使用道具 举报
水果牛牛 发表于 2015-9-17 10:31
for(int r:result){}代表的是
for(int i=0;i

明白了,谢谢你!
回复 使用道具 举报

不用谢,大家互相帮忙
回复 使用道具 举报
这是面向对象吗?还没学到!
回复 使用道具 举报
beyond1337 发表于 2015-9-18 20:06
这是面向对象吗?还没学到!

是最后那两行代码,是简写!
回复 使用道具 举报
水果牛牛 发表于 2015-9-18 19:41
不用谢,大家互相帮忙

                            
回复 使用道具 举报
楼夜雪 来自手机 中级黑马 2015-9-22 13:54:45
8#
打印输出r
回复 使用道具 举报
ln0491 中级黑马 2015-9-22 14:02:34
9#
学习了。。。。。。。。。。。
回复 使用道具 举报

哥们,你牛。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马