发红包系统

需求:输入红包金额,红包个数,抢红包的人

最后输出每个人抢的金额,并输出所抢红包的最大金额

package qianghongbao;

import java.utial.*;

public class Hongbao{

    public static void main(String[]args){

        Scanner in = new Scanner (System.in);

         int money;                       //定义红包金额

         money=in.nextInt(); //输入红包总金额

         int count; //

          count=in.nextInt(); //输入红包个数

         int one ; //定义单个红包金额

         String [] names = {"老湿","王大锤 ","蛋蛋","建国","赖宝","土豆君"};//定义字符串数 //组,存储抢红包的人

          String t =""; // 定义字符串接收字符串数组中提取的人名

           Random d =new Random();//实例化随机数

           

           for(int i =1;i<count;i++){ //循环强红包

                 int c = d.nextInt(6);  //随机一个0到5的数

                  t= names[c];  //把这个随机数作为数组names的下标并取出相应值

                   if(names[c]==null){ //如果值为空

  i=i-1; //循环变量i 减去一

continue; //返回下一次循环

    }else{ //否则,所取names值不为空则

one=d.nextInt(money/2); //随机一个红包金额,上限为剩余 //金额的一半

                                if(one==0)   //如如果所抢金额为零

                                  one=1; // 则有安慰奖1元

        money -= one; // 这时候总金额就要减去当次所抢红包金额

arr[i-1] =one; //所抢红包金额存入数组

}

system.out.println("第"+i+“个红包是”+t+“领取,金额为:”+one);

                        names[i]=null; //然后从names数组中清空抢到红包的人

                         if(i=names.length) //当i 值等于数组names的长度时

break; //跳出循环

                   }

                      if(count<=names.length){ //判断如果红包数小于抢红包人数时

                          for(int i=0;i<names.length;i++){ //循环找出还没有抢到红包的人

                                if(names[i] !=null) //下角标为i的值不为空时

                                 system.out.println("第"+count+"个红包是"+names[i]+"领取,金额                                        为:"+money);                               //输出抢到最后红包的人及金额

                                  break;                                             //找出一个人后跳出循环

                            }

                         }

int max=arr[0];

                for(int i =1;i<count;i++){

                 max= (arr[i]>max)?arr[i]:max;                      

                  }

                   system.out.println("手气王抢的金额为:"+max) ;         



    

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值