balance=0;}
public Account(int balance){ this.balance=balance; }
public int getBalance(){
System.out.println(\ return this.balance; }
public void withdraw(int money){ balance-=money;} public void withdraw(){ balance-=money;} }
package atm;
import java.util.Scanner;
public class ID extends Account{ static final int minBalance=10; static int counter=0;
private String accountID=\ int num; public ID(){
super(minBalance); }
private ID(String ID){ this.accountID=ID;} public int Account(){ return counter;}
public int getAccountAmount() throws inputoverException,Exception{ if (counter>3)
{System.out.println(\ throw new inputoverException(); }
else return counter; }
public String getAccountID(){ return accountID; }
public void withdraw(){
Scanner scanner=new Scanner(System.in);
System.out.println(\ money=scanner.nextInt();
if(money<=this.getBalance()-minBalance) super.withdraw(money); else
{ System.out.println(\ } }
public void check(){
for (counter=1;counter<=3;counter++){ Scanner scanner=new Scanner(System.in); System.out.println(\ String faccountID=scanner.next(); if ((faccountID).equals(this.accountID)) { System.out.println(\ return ;} else
System.out.println(Account());} }
} package atm;
class inputoverException extends Exception {
public void printStackTrace(){
System.out.println(\ }
package atm;
import java.util.Scanner; public class Main {
public static void main(String[] args) { int num ; try{
ID ID=new ID();
Account bAccount=new ID(); ID.check();
ID.getAccountAmount(); for(num=0;num!=4;){
System.out.println(\
Scanner scanner=new Scanner(System.in); num=scanner.nextInt(); switch(num){
case 1 : bAccount.deposit(); break;
case 2:bAccount.withdraw();break;
case 3:bAccount.getBalance();break; case 4:break; default:
System.out.println(\ } }
catch(inputoverException ex){ ex.printStackTrace();
System.out.println(\ }
catch(Exception ex){ ex.printStackTrace();
System.out.println(\ } }
3.7流程逻辑
3.8接口
1、本程序所隶属的上一层模块结构图:
2、本程序隶属的下一层模块:
本小组考虑到本程序已经是属于ATM管理系统系统层次的ATM事物处理层,所以没有下一层模块。
3、与本程序直接关联的数据结构
(1)协议描述
MESSAGE(ATM—Withdraw)
按下此按钮就进入取款的界面,并提示客户输入取款数额。 MESSAGE(ATM__ Query)
进入帐户查询界面,提示选择币种帐户类型。当你选择其中一个帐户类型时就显示帐户信息。如果该帐户不存在,提示出错并返回上一层界面。