当前位置: 首页 > news >正文

东莞响应式网站实力乐云seo免费做网站送域名的

东莞响应式网站实力乐云seo,免费做网站送域名的,aso优化前景,蜜蜂vp加速器七天试用在Java中实现随机抽奖的方法,通常我们会使用java.util.Random类来生成随机数,然后基于这些随机数来选择中奖者。以下将给出几种常见的随机抽奖实现方式,包括从数组中抽取、从列表中抽取以及基于权重的抽奖方式。 1. 从数组中抽取 import ja…

在Java中实现随机抽奖的方法,通常我们会使用java.util.Random类来生成随机数,然后基于这些随机数来选择中奖者。以下将给出几种常见的随机抽奖实现方式,包括从数组中抽取、从列表中抽取以及基于权重的抽奖方式。

1. 从数组中抽取

import java.util.Random;  public class LotteryFromArray {  public static void main(String[] args) {  String[] candidates = {"Alice", "Bob", "Charlie", "David", "Eva"};  Random random = new Random();  // 生成一个0到candidates.length-1之间的随机数  int index = random.nextInt(candidates.length);  // 输出中奖者  System.out.println("中奖者是:" + candidates[index]);  }  
}

2. 从列表中抽取

使用ArrayListLinkedList等集合类也可以实现抽奖,特别是在需要动态添加或删除候选人时。

import java.util.ArrayList;  
import java.util.List;  
import java.util.Random;  public class LotteryFromList {  public static void main(String[] args) {  List<String> candidates = new ArrayList<>();  candidates.add("Alice");  candidates.add("Bob");  candidates.add("Charlie");  candidates.add("David");  candidates.add("Eva");  Random random = new Random();  // 生成一个0到candidates.size()-1之间的随机数  int index = random.nextInt(candidates.size());  // 输出中奖者  System.out.println("中奖者是:" + candidates.get(index));  }  
}

3. 基于权重的抽奖

在一些情况下,每个候选人的中奖概率可能不同,这就需要实现基于权重的抽奖。

import java.util.ArrayList;  
import java.util.List;  
import java.util.Random;  public class LotteryWithWeights {  static class Candidate {  String name;  int weight; // 权重  public Candidate(String name, int weight) {  this.name = name;  this.weight = weight;  }  }  public static void main(String[] args) {  List<Candidate> candidates = new ArrayList<>();  candidates.add(new Candidate("Alice", 1));  candidates.add(new Candidate("Bob", 3));  candidates.add(new Candidate("Charlie", 1));  candidates.add(new Candidate("David", 2));  candidates.add(new Candidate("Eva", 3));  Random random = new Random();  int totalWeight = 0;  for (Candidate candidate : candidates) {  totalWeight += candidate.weight;  }  int target = random.nextInt(totalWeight) + 1;  int sum = 0;  for (Candidate candidate : candidates) {  sum += candidate.weight;  if (sum >= target) {  System.out.println("中奖者是:" + candidate.name);  break;  }  }  }  
}

在上述基于权重的抽奖示例中,我们定义了一个Candidate类来存储候选人的姓名和权重。然后,通过累加权重并生成一个随机数来决定中奖者。注意,这里我们通过random.nextInt(totalWeight) + 1来确保生成的随机数是从1到总权重(包含)之间的,从而避免0值导致的问题。最后,通过遍历候选人列表并累加权重,找到大于或等于随机数的第一个候选人作为中奖者。

以上三种方法分别适用于不同的场景,可以根据实际需求选择使用。

http://www.yayakq.cn/news/531868/

相关文章:

  • 集团网站建设管理制度唐山玉田网站建设
  • 建设银行业务管理中心网站emlog换wordpress
  • 工程行业做的好的网站有哪些内容网站备案很麻烦吗
  • 如何建设外贸网站做网站百科
  • vs做网站不用建项目东莞网络营销推广专业
  • 在线做数据图的网站有哪些dede 企业网站模板下载
  • 营销型网站建设讨论题深圳动画制作
  • 网站后台多个管理员wordpress淘宝客主题带条件筛选
  • 阿三做网站百度免费下载
  • 企业网站建设设计公司不能制作网页的软件有哪些
  • 项目推广平台有哪些山东商祺网站建设优化
  • 全国房地产网站网站做服务端
  • 深圳企业网站建设设计制作方案广告公司名称创意
  • 宁波市高等级公路建设指挥部网站专业政务软件开发
  • 做网站空间哪个好山东建设执业资格注册中心网站
  • 成都市温江建设局网站网页设计工资一般多少
  • 什么网站专做外贸龙岗建设局网站
  • 阜阳网站制作公司去哪找聊城冠县网站建设
  • 怎么建设银行网站打不开简诉网站建设小组的五类成员
  • 大连电商平台有哪些检查网站的跳转路径是否清晰 哪里要优化
  • 常熟祥云平台网站建设推广通
  • 网站工作室 需要什么手续网站别人做的我自己怎么续费
  • 网站模板怎么修改logowordpress 通讯录 插件
  • 设计网站的优势深圳网站建设商
  • 无锡做装修网站商丘免费网站建设开发公司
  • 国内最大的网页模板网站青岛网站建设一青岛博采网络
  • 河北省建设厅管网站网站建设预算描述
  • 免费行业网站源码wordpress+标签消失
  • 上海网站优化公司网页设计公司的痛点是什么
  • 重庆模板建站哪家好国内免费的ip地址