java实现红包要多少钱_Java实现发红包功能
Java發紅包案例,供大家參考,具體內容如下
首先我們需要分析這個代碼的架構是什么,需要什么類組成等。
我們需要建立4個類,這4個類分別是用戶類、群主類、成員類,運行類;
因為群主類和成員類都有共同的特點--------擁有名字和余額,所以需要用戶類去存儲名字與余額
第一步:我們需要建立一個用戶類,里面存儲的是名字和余額
package Java.RedPacketCode;
public class UserClass {
private String name;
private int balance;
public UserClass(String name, int balance) {
this.name = name;
this.balance = balance;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setBalance(int balance) {
this.balance = balance;
}
public int getBalance() {
return balance;
}
public void show() {
System.out.println("Name:" + name + "****" + "RMB:" + balance);
}
}
第二步:我們需要一個群主類去繼承用戶類
package Java.RedPacketCode;
import java.util.ArrayList;
public class GroupMainClass extends UserClass {
public GroupMainClass(String name, int balance) {
super(name, balance);
}
public ArrayList handOutRedEnvelopes(int amountRequired, int count) {
int existingAmount = super.getBalance();
if (existingAmount < amountRequired) {
System.out.println("Your balance is insufficient!");
}
int money=existingAmount-amountRequired;
super.setBalance(money);
System.out.println(super.getName()+" has"+money+" yuan left");
int avg = amountRequired / count;
int remainder = amountRequired % count;
int decimal = avg + remainder;
ArrayList list = new ArrayList<>();
for (int i = 0; i < count - 1; i++) {
list.add(avg);
}
list.add(decimal);
return list;
}
}
第三步:我們需要建立一個成員類去繼承用戶類
package Java.RedPacketCode;
import java.util.ArrayList;
import java.util.Random;
public class MemberClass extends UserClass {
public MemberClass(String name, int balance) {
super(name, balance);
}
public void redEnvelopes(ArrayList list) {
Random r = new Random();
int index = r.nextInt(list.size());
int money = list.remove(index);
int existingAmount = super.getBalance();
int totalAmount = money + existingAmount;
super.setBalance(totalAmount);
}
}
第四步:我們需要建立一個運行類,用來運行代碼
package Java.RedPacketCode;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
GroupMainClass gmc = new GroupMainClass("Groupleader", 200);
gmc.show();
MemberClass mc1 = new MemberClass("Tom", 0);
MemberClass mc2 = new MemberClass("Jack", 0);
MemberClass mc3 = new MemberClass("Jenny", 0);
UserClass arrays[] = {mc1, mc2, mc3};
for (int i = 0; i < arrays.length; i++) {
arrays[i].show();
}
System.out.println("==================");
Scanner scanner = new Scanner(System.in);
System.out.println("How much would you like to send");
int money = scanner.nextInt();
System.out.println("How many red packets would you like to send");
int count = scanner.nextInt();
ArrayList list = gmc.handOutRedEnvelopes(money, count);
mc1.redEnvelopes(list);
mc2.redEnvelopes(list);
mc3.redEnvelopes(list);
for (int i = 0; i < arrays.length; i++) {
arrays[i].show();
}
}
}
希望大佬們多多指教。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
總結
以上是生活随笔為你收集整理的java实现红包要多少钱_Java实现发红包功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看运行时间_怎样查看自己电脑系统的版本
- 下一篇: 读取csv绘制直方图_[python]用