Java red envelopes

Red envelopes using Java implementation of the function.

  structure:

    package redPocket    

      User.java      

      Manager.java

      Member.java

      Demo.java

  Ideas:

    Manager and Member class inherits User, Manager class implements the functions of the main group of red envelopes, Member class implements the group members received a red envelope function. Demo test code.

  Code:

    

package redPocket;

public class User {
    private String name;
    private float money;

    public User() {
    }

    public User(String name, float money) {
        this.name = name;
        this.money = money;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public float getMoney() {
        return money;
    }

    public void setMoney(float money) {
        this.money = money;
    }

    @Override
    public String toString() {
        return "name:" + this.name + "; " + "money:" + this.money + "; ";
    }
}
User.java
package redPocket;

import java.util.ArrayList;
import java.util.Random;

public class Manager extends User {

    public Manager() {
    }

    public Manager(String name, float money) {
        super(name, money);
    }

    public ArrayList<Float> send(float totalMoney, int count, boolean isRandom) {
        if (!hasEnoughMoney(totalMoney)) {
            System.out.println("You do not have enough money!");
            return  null ; 
        } 

        the ArrayList <the Float> = redPockets new new the ArrayList <> ();
         the this .setMoney ( the this .getMoney () - totalMoney); 

        IF (isRandom) { 
            the Random Random = new new the Random (); 
            the ArrayList <the Float> PERCENTAGE = new new the ArrayList <> ();
             // to store a ratio between 0.0 to 1.0 to be able to get all the percentage 
            for ( int I = 0; I <COUNT; I ++ ) { 
                percentage.add (random.nextFloat ()); 
            } 
            //Calculate the sum of percentage, then calculate the proportion of each ratio 
            a float totalPercentage = SUM (PERCENTAGE);
             // this is multiplied by the proportion totalMoney calculating how much each person drawn 
            for ( int I = 0; I <COUNT; I ++ ) { 
                redPockets .add (percentage.get (I) / * totalPercentage totalMoney); 
            } 
        } the else {
             a float Average = totalMoney / COUNT;
             for ( int I = 0; I <COUNT; I ++ ) { 
                redPockets.add (Average); 
            } 
        } 

        return redPockets; 
    }

    private boolean hasEnoughMoney(float totalMoney) {
        if (this.getMoney() >= totalMoney) {
            return true;
        }
        return false;
    }

    public float sum(ArrayList<Float> percentage) {
        float totalPercentage = 0.0F;
        for (int i = 0; i < percentage.size(); i++) {
            totalPercentage += percentage.get(i);
        }
        return totalPercentage;
    }
}
Manager.java
Package redPocket; 

Import of java.util.ArrayList;
 Import java.util.Random; 

public  class Member the extends the User { 

    public Member () { 
    } 

    public Member (String name, a float Money) {
         Super (name, Money); 
    } 

    public  void the receive (the ArrayList <the Float> redPockets) {
         // random in a list 
        int index = new new the random () the nextInt (redPockets.size ());.
         a float Money = redPockets.get (index);
         // be pumped the index excluding
        redPockets.remove(index);
        System.out.println(this.getName() + "抽到了" + money);
        this.setMoney(this.getMoney() + money);
    }
}
Member.java
package redPocket;

import java.util.ArrayList;

public class Demo {
    public static void main(String[] args) {
        Manager m = new Manager("Manager", 1000.0F);
        Member m1 = new Member("Member1", 100.0F);
        Member m2 = new Member("Member2", 45.56F);

        ArrayList<Float> redPockets = m.send(888.88F, 8, true);

        System.out.println(redPockets);

        m1.receive(redPockets);
        m2.receive(redPockets);

        System.out.println(redPockets);

        System.out.println(m);
        System.out.println(m1);
        System.out.println(m2);
    }
}
Demo.java

 

 

Guess you like

Origin www.cnblogs.com/noonjuan/p/11792522.html