这是我的atm接口的全部代码
public class Agecheck extends Exception
{
/**
*
*/
private static final long serialVersionUID = 1L;
public Agecheck(String str)
{
super(str);
}
Agecheck()
{
}
boolean check(int age) throws Agecheck
{
if(age<5)
{
throw new Agecheck("You are not eligible to have a bank account");
}
else
return true;
}
public boolean checkamount(double amount1) throws Agecheck
{
if(amount1<200)
{
throw new Agecheck("You must have a minimum balance of 200");
}
else
return true;
}
}
public abstract class Bank
{
static String cname;
static int age;
static String patname;
static String parname;
static int id;
static int password;
static double amount;
static double fine;
abstract void p(Bank k,int i,double amount);
abstract void m(Bank k,int i,double amount);
}
import java.util.Scanner;
public class Bank1 extends Bank
{
@SuppressWarnings("static-access")
static void getdata(Bank k, int i)
{
try
{
Bank k1=k;
Scanner input = new Scanner(System.in);
System.out.println("enter your name");
String cname1= input.next();
cname = cname1;
System.out.println("enter your age");
int age1=input.nextInt();
age = age1;
Agecheck a = new Agecheck();
if(a.check(age1))
{
System.out.println("enter your password");
int password1= input.nextInt();
password = password1;
try
{
System.out.println("enter your amount");
double amount1 = input.nextDouble();
if(a.checkamount(amount1))
{
amount = amount1;
id = i;
Bank1 b1 = new Bank1();
if(age<18)
{
b1.m(k1,i,amount);
}
else
{
b1.p(k1,i,amount);
}
System.out.println("your name :" + k.cname);
System.out.println("your age :" + k.age);
System.out.println("your amount :" + k.amount);
System.out.println("your id :" + k.id);
System.out.println("your password :" + k.password);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
input.close();
}
catch(Agecheck e)
{
e.printStackTrace();
}
}
@SuppressWarnings("static-access")
void p(Bank k,int i,double amount)
{
Scanner input = new Scanner(System.in);
System.out.println("enter your patner name");
String patname1 = input.next();
k.patname = patname1;
System.out.println("your patner name :" + k.patname);
input.close();
return ;
}
@SuppressWarnings("static-access")
void m(Bank k,int i,double amount)
{
Scanner input = new Scanner(System.in);
System.out.println("enter your parent name");
String parname1 = input.next();
k.parname = parname1;
System.out.println("your parent name :" + k.parname);
input.close();
return ;
}
}
import java.util.Scanner;
public class Customer extends Bank1
{
@SuppressWarnings("static-access")
void withdraw(Bank b, int idn)
{
Scanner input = new Scanner(System.in);
System.out.println("enter the amount you want to withdraw");
int am = input.nextInt();
b.amount = b.amount-am;
if(b.amount<0)
{
System.out.println("you have used over amount");
System.out.println("you will have a fine of 50 rs");
b.fine = 50;
}
else
{
b.amount = b.amount-am;
System.out.println("Thank you for using our bank");
}
input.close();
}
@SuppressWarnings("static-access")
void balanceenq(Bank b, int idn)
{
double x = b.amount;
System.out.println("your bank balance is "+ x);
}
@SuppressWarnings("static-access")
void deposit(Bank b, int idn)
{
Scanner input = new Scanner(System.in);
System.out.println("Enter the amount you want to deposit");
double dep = input . nextDouble();
b.amount = b.amount + dep;
input.close();
}
@SuppressWarnings("static-access")
void totaldetatils(Bank k , int idn)
{
System.out.println("your name is "+ k.cname);
System.out.println("your age is "+ k.age);
System.out.println("your bank balance is "+ k.amount);
System.out.println("your fine is "+ k.fine);
System.out.println("your id number is "+ k.id);
}
}
import java.util.Scanner;
public class View extends Bank1
{
@SuppressWarnings("static-access")
public static void main(String[] args)
{
int ch;
Scanner input = new Scanner(System.in);
boolean a = true;
Bank b[] = new Bank[50];
while(a)
{
System.out.println("Welcome to our bank");
System.out.println("1 to enroll in our bank");
System.out.println("2 if you are existing customer");
ch = input.nextInt();
int i =0;
switch(ch)
{
case 1:
getdata(b[i],i);
i++;
break;
case 2:
System.out.println("enter your id number");
int idn = input.nextInt();
System.out.println("enter your id password");
int passwd = input.nextInt();
if(b[idn].password!=passwd)
{
System.out.println("enter password correctly");
break;
}
else
{
System.out.println("1 to withdraw amount");
System.out.println("2 to balance enquire");
System.out.println("3 to deposit");
System.out.println("4 to know total details");
System.out.println("5 to quit");
Customer cus = new Customer();
int c = input.nextInt();
switch(c)
{
case 1:
cus.withdraw(b[idn], idn );
break;
case 2:
cus.balanceenq(b[idn], idn );
break;
case 3:
cus.deposit(b[idn], idn );
break;
case 4:
cus.totaldetatils(b[idn], idn);
break;
case 5:
System.exit(0);
a= false;
break;
}
}
}
}
input.close();
}
}
这是我的全部代码。
我的代码包含五类 customer 、agecheck、bank、bank1、view。
视图类中的语句 ch = input.nextint()
不适用于无限 while 循环的第二次迭代。
我什至尝试过 input.hasnextint() 但没有用。
该怎么办 。任何人都可以请帮帮我。
长期以来,我一直试图检测这一点