admin管理员组文章数量:1794759
Java简简单单抢红包小程序(代码)
import Java.io.IOException; import java.util.Random; import java.util.Scanner; public class GrabRedEnvelopes { public static void main(String[] args) throws IOException { System.out.println("抢红包"); Scanner scanner = new Scanner(System.in); System.out.println("请输入红包总金额:"); double amount = scanner.nextDouble(); System.out.println("请输入抢红包的人数:"); int people = scanner.nextInt(); double min = 0.01; // 最小红包金额 Random random = new Random(); // 创造随机数 double left = amount; // 剩余金额 double avg = amount / people; // 平均数 for(int i = 1; i < people; ++i) { int j = people - i; double max = left - j * min;// 红包的最大金额 = 红包余下金额 - 剩下人数 * 红包最小金额 double EveryRedEnvelope = (double)random.nextInt((int)(range * 100)) / 100;// 生成[0, range * 100)区间的整数并转化为double型小数,配合下面的语句可以完全避免红包多出0.01元或为0的情况 // 在最大最小金额间生成随机红包,即发出的红包金额 while(j > 0)// 为了缩小贫富差距才出此下策 { if(EveryRedEnvelope > avg) { EveryRedEnvelope = (double)random.nextInt((int)(range * 100)) / 100; } else { break; } j--; } EveryRedEnvelope = EveryRedEnvelope + min;// 防止出现红包金额为0的情况 left = left - EveryRedEnvelope; // 剩余红包的金额 System.out.printf("第 " + i + " 个 人 点 击 抢 红 包"); System.in.read(); System.in.read(); System.out.println("第 " + i + " 个 人 抢 到 的 红 包 金 额 为 :" + String.format("%.2f", EveryRedEnvelope)+ "元"); } System.out.printf("第 "+ people + " 个 人 点 击 抢 红 包"); System.in.read(); System.out.println("第 " + people + " 个 人 抢 到 的 红 包 金 额 为 :" + String.format("%.2f", left) + "元"); scanner.close(); } }
版权声明:本文标题:Java简简单单抢红包小程序(代码) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686845054a109457.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论