import java.util.ArrayList;
import java.util.Scanner;
class Pocket{
private double money = 0 ;
public Pocket(){
}
public double getMoney(){
return money;
}
public void setMoney(double money){
this.money = money;
}
}
class MytoolsPocket {
public MytoolsPocket(){
}
public void showPocket(ArrayList<Pocket> list, double[] arr){
System.out.println("------明细------");
for(int i=0;i< list.size();i++){
if(arr[i] >0) {
System.out.println("收益入帐\t" + arr[i] + "\t2024年8月11日" +"\t余额\t"+list.get(i).getMoney());
}else{
System.out.println("消费\t" + arr[i] + "\t2024年8月11日" +"\t余额\t" + list.get(i).getMoney());
}
}
}
public void MakeMoney(ArrayList<Pocket> list, Scanner sc, int pivot, double[] arr){
System.out.println("输入你要增加的money:");
while(true){
if(sc.hasNextDouble()) {
double money = sc.nextDouble();
arr[pivot] =money;
if(money >0){
//为了保证可以管理多个pocket实例,保证里面至少有一个元素。
Pocket p =new Pocket();
if(list.isEmpty()){
p.setMoney(money);
}else{
p.setMoney(money + list.get(list.size()-1).getMoney());
}
list.add(p);
break;
}else{
System.out.print("输入无效,请输入大于零的数字");
sc.next();
}
}
}
}
public void consumeMoney(ArrayList<Pocket> list,Scanner sc,int pivot,double[] arr){
System.out.println("输入你要减少的money");
while(true){
if(sc.hasNextDouble()) {
double money = sc.nextDouble();
arr[pivot] =money;
if(money <0){
//为了保证可以管理多个pocket实例,保证里面至少有一个元素。
Pocket p =new Pocket();
if(list.isEmpty()){
p.setMoney(money);
}else{
p.setMoney(money + list.get(list.size()-1).getMoney());
}
list.add(p);
break;
}else{
System.out.print("输入无效,请输入大于零的数字");
sc.next();
}
}
}
}
public void PocketMenu(){
System.out.println("-----零钱通-----");
System.out.println("1收益入账");
System.out.println("2.消费");
System.out.println("3.零钱明细");
System.out.println("4.退 出");
}
}
public class PocketMoney {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Pocket> list = new ArrayList<>();
double[] arr =new double[100];
int pivot = 0;
MytoolsPocket mytools = new MytoolsPocket();
boolean flag = true;
while(flag){
mytools.PocketMenu();
int choice = sc.nextInt();
switch(choice){
case 1:
mytools.MakeMoney(list,sc,pivot,arr);
pivot ++;
break;
case 2:
mytools.consumeMoney(list,sc,pivot,arr);
pivot++;
break;
case 3:
mytools.showPocket(list,arr);
break;
case 4:
flag = false;
break;
default:
System.out.println("无效选项");
}
}
sc.close();
}
}
零钱通Java
于 2024-08-11 15:19:12 首次发布