第11章抽奖——随机数和枚举.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 抽奖——随机数与枚举 能力目标: 学会使用随机数类Random产生随机数。 学会使用方法数目可变的参数来传递数据。 理解枚举类型,学会使用枚举类型。 能运用随机数等编写按号抽奖和人人有份抽奖的程序。 内容介绍 11.1 任务预览 11.2 随机数及Random类 11.3 可变参数方法 11.4 枚举类型 11.5 本章小结 11.6 实训11:抽奖 11.1 任务预览 本章实训程序运行结果: 11.2 随机数及Random类 java.util包的Random类对象是随机数生成器。如: Random rand = new Random(); Random rand2 = new Random(12345L); //long型随机数种子 一般情况下,无需在Random构造方法中给出随机数种子。 生成随机数例: int ir = rand.nextInt(100); //生成0到99int随机数 double dr = rand.nextDouble(); //生成0到1(不含1)以内的double型随机数 注意:还可调用Math类的静态方法random()生成大于等于 0且小于 1的double型随机数:Math.random() 【例11-1】编程,随机抽取1到100范围内10个不同的数,并按升序输出。 分析:只是抽取10个不考虑重复情况的随机数的代码: import java.util.*; public class Example1_2 { public static void main(String[] args) { Random rand = new Random(); int[] nums = new int[10]; //存放随机数数组 for (int i=0; i10; i++){ nums[i] = rand.nextInt(100)+1; //生成随机数 } Arrays.sort(nums); //数组元素按升序排序 System.out.println(1到100范围内的10个随机数如下:); System.out.println(Arrays.toString(nums)); }} 生成10个相互不重复的随机数程序 在每次生成随机数时,把它依次与存在的随机数作比较。 11.3 可变参数方法 语法格式:类型 ... 形参代表 方法调用时允许给出类型相同但数目不同的参数,例如0个、1个、2个、…、10个,等等。也可用数组作实参. 形参代表可看作是一个数组变量。 一个方法只能有一个可变数目参数,并且是最后一个参数。 【例11-2】定义数目可变参数的方法,进行求和、找最大值。 class MethodC { //方法类 public static double sum(double ... nums) throws Exception{ if (nums.length == 0){ //可变参数长度即参数个数 throw new Exception(没有数据、无法求和异常); } double sumvalue = 0; for (int i=0; inums.length; i++){ sumvalue += nums[i]; } return sumvalue; } … 【例11-3】编程,定义抽奖方法进行抽奖。 //4个参数抽号方法:起始号、终止号、抽取个数、排除号码(可变参数) public static int[] raffleNums(int from, int to, int amount, int...exclusion) throws Exception{ //在类Raffle 中定义 if ((to - from + 1)- exclusion.length amount) { throw …(抽取范围内的数量必须不小于要抽取的个数); } Random rand = new Random(); int[] nums = new int[amount] ; for (int i=0; iamount; i++){ whiletag: while (true){

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档