发红包系统

来源:互联网 发布:程序员最讨厌的事情 编辑:程序博客网 时间:2024/06/11 07:12

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

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

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) ;         



    

0 0