简易的红包实现算法
發紅包時,需要輸入總金額,紅包的個數。感覺程序內部一定會設置一個紅包的最高金額和最低金額。
java語言實現簡易的紅包算法
private static int total = 100;//設置紅包總金額private static int amount = 11;//設置紅包的個數private static int max = 15;//最高金額數private static int min = 7;//最低金額數public static void main(String[] args) {int sum=0;Random random = new Random();//生成amount數量的紅包金額List<Integer> list = new ArrayList<>(amount);for(int i =0;i<amount;i++){int value = random.nextInt(max-min)+min;//生成在規定金額內的紅包金額list.add(value);sum+=value;}System.out.println(list);System.out.println(qiuHe(list));System.out.println("--------------------");while(sum>total){//判斷生成的紅包金額和與total大小int index = random.nextInt(amount);Integer curValue = list.get(index);if(curValue > min){list.set(index, curValue-1);sum--;}}System.out.println(qiuHe(list));System.out.println("--------------------");while(sum<total){int index = random.nextInt(amount);Integer curValue = list.get(index);if(curValue < max){list.set(index, curValue+1);sum++;}}System.out.println(qiuHe(list)); }private static int qiuHe(List<Integer> list){int sum=0;for(int i=0;i<list.size();i++){sum+=list.get(i);}return sum;}總結
- 上一篇: 如何整一个厉害的产品slogan?
- 下一篇: 进击的职场人 健康观念不容轻视——202