java幸运抽奖代码实验结论_java基础学习第一章练习4-幸运抽奖

Exercises 1.4Fill in the blanks in each of the following statements: a) The logical unit that receives information from outside thecomputer for use by thecomputer is theinput unit. b) The process of instructing the computer to solve a probl

实验任务 实现幸运抽奖 Java代码 实验分析 使用if条件语句输出相应的结果package javatest;import java.util.Scanner;/*实验任务实现幸运抽奖实验分析使用if条件语句输出相应的结果*/public class Test4 {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

double winning=Math.random()*10;

int winprize=(int)winning;

System.out.println("兑奖码为"+winprize);

System.out.println("请输入你的兑奖码:");

int yournum=in.nextInt();

int num=yournum/100%10;

System.out.println("百位数为:"+num);

if(num==winprize){

System.out.println("恭喜你,中大奖了");

}else{

System.out.println("谢谢你的参与!此次的中奖码是现在java和C++都涉及的不是很深入,可能工作没有时间的缘故,还有自己比较懒,但是这些又必须要学习,好吧,那就从今天,从现在开始学习吧,一边学习,一边写博客,一边写总结,一边写感想。

1、面向对象

2、类和对象

3、实现方案的隐藏 类的创:"+winprize);

}

in.close();

}}/* *运算结果:

兑奖码为3请输入你的兑奖码:45667百位数为:6谢谢你的参与!此次的中奖码是:3*/

$(function () {

$('pre.prettyprint code').each(function () {

var lines = $(this).text().split('\n').length;

var $numbering = $('

$(this).addClass('has-numbering').parent().append($numbering);

for (i = 1; i <= lines; i++) {

$numbering.append($('

').text(i));

};

$numbering.fadeIn(1700);

});

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,Java幸运抽奖项目可以按照以下步骤实现: 1. 定义奖品类,包括奖品名称、奖品数量、中奖概率等属性。 2. 定义用户类,包括用户ID、用户名、中奖状态等属性。 3. 创建一个用户列表,用于存储所有参与抽奖的用户。 4. 根据奖品数量和中奖概率,随机生成每个奖品的中奖数量。 5. 编写抽奖方法,随机从用户列表中选择一个用户,并根据中奖概率判断该用户是否中奖,如果中奖,则随机选择一个奖品进行发放。 6. 循环执行抽奖方法,直到所有奖品都被发放完毕。 以下是一个简单的Java幸运抽奖项目示例代码: ```java import java.util.ArrayList; import java.util.List; import java.util.Random; public class LuckyDraw { // 奖品列表 private List<Prize> prizes = new ArrayList<>(); // 用户列表 private List<User> users = new ArrayList<>(); // 随机数生成器 private Random random = new Random(); // 添加奖品 public void addPrize(Prize prize) { prizes.add(prize); } // 添加用户 public void addUser(User user) { users.add(user); } // 抽奖方法 public void draw() { // 计算每个奖品的中奖数量 for (Prize prize : prizes) { prize.setWinningCount(random.nextInt(prize.getTotalCount() / 2) + 1); } // 循环抽奖,直到所有奖品都被发放完毕 while (!prizes.isEmpty()) { // 随机选择一个用户 int index = random.nextInt(users.size()); User user = users.get(index); // 判断该用户是否已经中过奖 if (user.isWinning()) { continue; } // 随机选择一个奖品 index = random.nextInt(prizes.size()); Prize prize = prizes.get(index); // 判断该奖品是否还有剩余 if (prize.getWinningCount() <= 0) { prizes.remove(index); continue; } // 根据中奖概率判断该用户是否中奖 if (random.nextDouble() <= prize.getWinningProbability()) { user.setWinning(true); prize.setWinningCount(prize.getWinningCount() - 1); System.out.println(user.getName() + "中了" + prize.getName() + "!"); } } } public static void main(String[] args) { // 创建幸运抽奖对象 LuckyDraw luckyDraw = new LuckyDraw(); // 添加奖品 luckyDraw.addPrize(new Prize("一等奖", 10, 0.01)); luckyDraw.addPrize(new Prize("二等奖", 20, 0.05)); luckyDraw.addPrize(new Prize("三等奖", 50, 0.1)); // 添加用户 for (int i = 1; i <= 1000; i++) { luckyDraw.addUser(new User(i, "用户" + i)); } // 抽奖 luckyDraw.draw(); } } // 奖品类 class Prize { private String name; // 奖品名称 private int totalCount; // 奖品总数量 private int winningCount; // 中奖数量 private double winningProbability; // 中奖概率 public Prize(String name, int totalCount, double winningProbability) { this.name = name; this.totalCount = totalCount; this.winningProbability = winningProbability; } public String getName() { return name; } public int getTotalCount() { return totalCount; } public int getWinningCount() { return winningCount; } public void setWinningCount(int winningCount) { this.winningCount = winningCount; } public double getWinningProbability() { return winningProbability; } } // 用户类 class User { private int id; // 用户ID private String name; // 用户名 private boolean winning; // 是否中奖 public User(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public String getName() { return name; } public boolean isWinning() { return winning; } public void setWinning(boolean winning) { this.winning = winning; } } ``` 以上代码仅供参考,具体实现可以根据实际需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值