您的位置:首页 > 移动开发 > 微信开发

Java抢红包小程序

2016-02-01 20:24 676 查看
程序要求

1:任意输入金额和红包个数

2:输出每个红包的金额,并标记手气最佳

3:1键模拟抢红包过程

4:2键列出当前红包情况(总金额、总红包数、剩余红包数等)

5:3键取消发红包

代码如下:

package home0201;

import java.text.DecimalFormat;

import java.util.Scanner;

public class OneTest {

public static void main(String[] args) {

// TODO Auto-generated method stub

boolean isok=true;

boolean isgo=true;

while(isgo)

{

isok=true;

isgo=true;

System.out.println("输入总金额和红包数");

Scanner in=new Scanner(System.in);

double money=in.nextDouble();

int number=in.nextInt();

RedPackets packets=new RedPackets(number, money);

while(isok)

{

System.out.println("操作如下:");

System.out.println("1键模拟抢红包过程 \t2键列出当前红包情况(总金额、总红包数、剩余红包数等)\t3键取消发红包");

packets.showDraw();

int operator=in.nextInt();

switch(operator)

{

case 1:

isok=packets.draw();

break;

case 2:

packets.getCondition();break;

case 3:

isok=false;isgo=false;break;

default:

break;

}

}

}

System.out.println("取消抢红包活动");

}

}

class RedPackets{

private int packetsNumber;

private double totalMoney;

private int nowNumber;

private double nowMoney;

private double [] result=null;

private double maxMoney;

public RedPackets(int number,double money)

{

packetsNumber=number;

nowNumber=number;

totalMoney=money;

nowMoney=money;

result=new double[number];

}

public void showDraw()

{

for(int i=1;i<=packetsNumber-nowNumber;i++)

{

StringBuffer buffer=new StringBuffer("第"+i+"个人领了"+result[i-1]+"元的红包\t");

if(maxMoney==result[i-1])

{

buffer.append("手气最佳");

}

System.out.println(buffer);

}

}

public void getCondition()

{

System.out.println("总金额为:"+totalMoney+"\t总红包数为:"+packetsNumber+"\t剩余红包数为:"+nowNumber);

}

public boolean draw()

{

double drawMoney=0.0;

if(nowNumber==1)

{

drawMoney=nowMoney;

}else{

drawMoney=Math.random()*nowMoney;

}

DecimalFormat df=new DecimalFormat("#.##");

drawMoney=Double.parseDouble(df.format(drawMoney));

if(drawMoney>maxMoney)

{

maxMoney=drawMoney;

}

nowMoney=nowMoney-drawMoney;

result[packetsNumber-nowNumber]=drawMoney;

nowNumber--;

System.out.println("你所抢得的红包为:"+drawMoney);

if(nowNumber==0)

{

showDraw();

System.out.println("红包已经全部抢完了");

return false;

}

return true;

}

public int getPacketsNumber() {

return packetsNumber;

}

public void setPacketsNumber(int packetsNumber) {

this.packetsNumber = packetsNumber;

}

public double getTotalMoney() {

return totalMoney;

}

public void setTotalMoney(double totalMoney) {

this.totalMoney = totalMoney;

}

public int getNowNumber() {

return nowNumber;

}

public void setNowNumber(int nowNumber) {

this.nowNumber = nowNumber;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: