要求书写格式正确,符合上面的要求,标识命名简单易懂
类已经写的很清除了,转换成JAVA代码就可以了
Card类:
public class Card {
private int mId; //卡号
private double mMoney; //钱数
public Card(int id,double m){
mId = id;
mMoney = m;
}
public int getmId() {
return mId;
}
public void setmId(int mId) {
System.out.println("卡号不能修改");
//this.mId = mId;
}
public double getmMoney() {
return mMoney;
}
public void setmMoney(double m) {
if(m>0)
System.out.println("钱数不能为负数");
else
this.mMoney = m;
}
}
ATM类:
import java.util.Scanner;
public class ATM {
private int mId;
private String mName;
public ATM(int id,String name){
mId = id;
mName = name;
}
public int getmId() {
return mId;
}
public void setmId(int mId) {
this.mId = mId;
}
public String getmName() {
return mName;
}
public void setmName(String mName) {
this.mName = mName;
}
void start(Card c){
int flag = 1;
int n = 0;
double m = 0;
while(flag == 1){
System.out.println("请输入您的操作");
System.out.println("1.取款 2.存款 3.显示余额 4.退出");
Scanner sc = new Scanner(System.in);
int op = sc.nextInt();
switch(op){
case 1: //取款
m = c.getmMoney();
System.out.print("请输入取款金额");
n = sc.nextInt();
if(n>m)
System.out.println("余额不足,当期金额为:"+m);
else{
m -= n;
c.setmMoney(m);
}
break;
case 2: //存款
System.out.print("请输入存款金额:");
n = sc.nextInt();
m = c.getmMoney();
c.setmMoney(m+n);
System.out.println("存款成功");
break;
case 3: //显示余额
System.out.println("当前余额:"+ c.getmMoney());
break;
case 4:
flag = 0;
break;
}
} //while end
}
}
测试类Test:
public class Test {
public static void main(String[] args) {
Card c = new Card(12345,0);
ATM atm = new ATM(1000,"建设银行");
c.setmId(22222); //尝试修改卡号
c.setmMoney(-200); //修改余额
atm.start(c);
}
}
package csdn008;
import java.util.Scanner;
/**
* 主程序
* @author wf
*/
public class Main {
public static void main(String[] args) throws Exception {
Card card = new Card();
ATM atm = new ATM();
atm.start(card);
}
}
class Card {
private Integer idCard;
private double money;
public Card() {
this.idCard = 1;
this.money = 0.0;
}
public Integer getIdCard() {
return idCard;
}
public double getMoney() {
return money;
}
public void setMoney(double money) throws Exception {
if (money < 0) {
throw new Exception("签署不能为负数");
}
this.money = money;
}
}
class ATM {
private Integer atmNo;
private String name;
public ATM() {
this.atmNo = 1;
this.name = "默认atm";
}
public Integer getAtmNo() {
return atmNo;
}
public void setAtmNo(Integer atmNo) {
this.atmNo = atmNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void start(Card card) throws Exception {
Scanner scanner = new Scanner(System.in);
boolean isExit = true;
while (isExit) {
System.out.println("1、取款 2 、存款 3、显示余额 4、退出");
System.out.println("请输入您的操作:");
int n = scanner.nextInt();
switch (n) {
case 1:
System.out.println("请输入你的取款金额:");
double m = scanner.nextDouble();
if (m > card.getMoney()) {
System.out.println("余额不足!");
break;
}else {
double ye = card.getMoney() - m;
System.out.println("您的余额为:" + ye);
card.setMoney(ye);
}
break;
case 2:
System.out.println("请输入您想存入的金额:");
double input = scanner.nextDouble();
card.setMoney(card.getMoney() + input);
break;
case 3:
System.out.println("余额为:" + card.getMoney());
break;
case 4:
isExit = false;
break;
default:
}
}
}
}