Java抢红包小程序
程序要求
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;
}
}
Java抢红包小程序相关推荐
- in java中文版百度云 thinking_小程序订阅消息推送(含源码)java实现小程序推送,springboot实现微信消息推送...
前面写过一篇云开发实现小程序订阅消息(模板消息)推送的文章,<借助云开发实现小程序订阅消息和模板消息的推送功能>是有好多同学用的是Java写后台,所以今天就再来写一篇Java后台实现小程序 ...
- vue小米商城源代码_微信商城信息管理系统(java后台+小程序)
前一段时间在公众号中发布了一套微信商城信息管理系统(java后台+小程序),也许大家可能都还记得.今天再给大家重复呈现一遍.重新梳理下,方便大家理解这是做什么用的,以便日后使用.开始正题 01 编写目 ...
- java 后台 小程序微信支付
java 后台 小程序微信支付 步骤说明: 微信公众平台支付接口调试工具 #1.生成字符串: appid=appId&body=测试商品名称&mch_id=商户号&nonce_ ...
- 小程序消息推送(含源码)java实现小程序推送,springboot实现微信消息推送
本文是比较老得技术来实现,用最新技术实现小程序推送,请看 5行java代码实现微信小程序模版消息推送 (含springboot后台和小程序源码) 也可以看最新的视频讲解:https://edu.csd ...
- 简单明了实现Java地图小程序项目
简单明了实现Java地图小程序项目 ✨博主介绍 前言 地图概述 地图技术 地图应用场景 网约车服务 智能穿戴 智能物流 智能景区 车联网 国内常见地图 地图API与搜索 JS API GL(演示百度地 ...
- 进阶版的Java发牌小程序
进阶版的Java发牌小程序 考虑到上次的发牌程序有很大的缺陷,无法得知牌的花色和点数,也就无法对牌添加别的操作方法,这次采用面向对象的思想,重新编写这个发牌小程序. 程序如下: /*** 扑克类,具有 ...
- java实现小程序开发(一)
小程序开发官方文档 一. 1.首先看授权流程技术说明其中会说明具体怎么开发小程序: 2.需要做些开发小程序前期准备的工作. 3.首先你要申请个小程序:申请小程序官网链接 具体怎么申请我想就不要说了吧- ...
- 基于java微信小程序的校园二手商城设计与实现
基于java微信小程序的二手商城设计与实现 首先介绍一下SpringSecurity安全登陆框架 微信小程序 我用的是mysql数据库 这是我小程序的用例图 系统总体功能架构图 系统功能模块设计 数据 ...
- 牛逼的uniapp+Java微信小程序商城来了
牛逼的uniapp+Java微信小程序商城来了 减少重复造轮子,开源微信小程序商城(前后端开源:uniapp+Java),秒杀.优惠券.多商户.直播卖货.分销等功能.快速搭建一个属于自己的微信小程序商 ...
最新文章
- thymeleaf引用图片_SpringBoot访问静态资源(图片、html)以及整合thymeleaf 注意点
- 计算机之间是如何实现通信的?—Vecloud微云
- 架构实战:(一)Redis采用主从架构的原因
- 回旋矩形C语言,C语言回旋函数解释下,该如何处理
- Swift中文教程(十六) 自动引用计数
- go 数组任意位置插入数字类型的元素
- C++ 单例模式中处理在类中声明一个指向一个自己的指针,在编译时显示定义的指针未定义的处理办法
- linux下的mongodb数据库原生操作
- AD19PCB增加board shape即增大黑色布的面积
- 梨花带雨音乐播放器3.91源码开源(网站添加背景音乐)
- Jira 破解版 Docker 部署
- php投影,投影效果怎么做?PS制作逼真的投影效果
- android 闪屏动态界面,Android 实现闪屏
- 2022高教社杯 国赛数学建模 A题思路
- python实训报告心得体会-Python学习心得体会
- [乱七八糟]Google搜索使用详细
- 《 Kubebuilder v2 使用指南 》-P1-总览篇
- ADI-SigmaDSP开发入门
- 鬼吹灯之怒睛湘西 SDUT
- C/C++版本更迭历程