面向过程
package smallchange;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
//以下为面向过程
public class smallChangeSys {
public static void main(String[] args) {
boolean loop = true;
int choice = 0;
String details = "--------零钱通明细-----------n";
double balance = 0;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); //可以用于日期格式化的
Date date = new Date();
double pay = 0;
String name = " ";
String choose = " ";
do {
System.out.println("=========零钱通菜单=========");
System.out.println(" 1 零钱通明细");
System.out.println(" 2 收益入账");
System.out.println(" 3 消费");
System.out.println(" 4 退 出");
System.out.print("请选择(1-4):");
Scanner scanner = new Scanner(System.in);
choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println(details);
break;
case 2:
//收益
System.out.print("请输入收益金额");
double income = scanner.nextDouble();
if (income <= 0) {
System.out.println("收益金额应当大于0");
break;
}
balance += income;
details += "收益入账t+" + income + "tt" + sdf.format(date) + "t余额" + balance + "n";
//System.out.println(details);
break;
case 3:
//支出
System.out.print("请输入消费金额");
pay = scanner.nextDouble();
if (pay <= 0 || pay > balance) {
System.out.println("消费金额应当大于0小于" + balance);
break;
}
System.out.println("请输入消费场所");
name = scanner.next();
balance -=pay;
details += name + "t-" + pay + "t" + sdf.format(date) + "t余额" + balance + "n";
// System.out.println(details);
break;
case 4:
//退出
boolean a = true;
do {
System.out.println("你确定退出吗?y/n");
choose = scanner.next();
if (choose.equals("y") || choose.equals("n")) {
a = false;
}
} while (a);
if (choose.equals("y")) {
loop = false;
}
break;
}
} while (loop) ;
}
}
面向对象
package smallchange;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class SmallChangeSysOop {
boolean loop = true;
int choice = 0;
String details = "--------零钱通明细-----------n";
double balance = 0;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); //可以用于日期格式化的
Date date = new Date();
double pay = 0;
String name = " ";
String choose = " ";
Scanner scanner = new Scanner(System.in);
public void mainMenu(){
do {
System.out.println("=========零钱通菜单=========");
System.out.println(" 1 零钱通明细");
System.out.println(" 2 收益入账");
System.out.println(" 3 消费");
System.out.println(" 4 退 出");
System.out.print("请选择(1-4):");
choice = scanner.nextInt();
switch (choice) {
case 1:
detail();
break;
case 2:
//收益
income();
break;
case 3:
//支出
consume();
break;
case 4:
//退出
exit();
break;
}
} while (loop) ;
}
public void detail(){
System.out.println(details);
}
public void income(){
//收益
System.out.print("请输入收益金额");
double income = scanner.nextDouble();
if (income <= 0) {
System.out.println("收益金额应当大于0");
return;
}
balance += income;
details += "收益入账t+" + income + "tt" + sdf.format(date) + "t余额" + balance + "n";
//System.out.println(details);
// return;
}
public void consume(){
//支出
System.out.print("请输入消费金额");
pay = scanner.nextDouble();
if (pay <= 0 || pay > balance) {
System.out.println("消费金额应当大于0小于" + balance);
return;
}
System.out.println("请输入消费场所");
name = scanner.next();
balance -=pay;
details += name + "t-" + pay + "t" + sdf.format(date) + "t余额" + balance + "n";
// System.out.println(details);
}
public void exit() {
//退出
boolean a = true;
do {
System.out.println("你确定退出吗?y/n");
choose = scanner.next();
if (choose.equals("y") || choose.equals("n")) {
a = false;
}
} while (a);
if (choose.equals("y")) {
loop = false;
}
}
}
package smallchange;
public class Test {
public static void main(String[] args) {
SmallChangeSysOop scs = new SmallChangeSysOop();
scs.mainMenu();
}
}



