首页后端开发JAVA银行存款java程序代码 java银行存款程序设计

银行存款java程序代码 java银行存款程序设计

时间2023-04-20 20:12:01发布访客分类JAVA浏览873
导读:如何用Java线程实现银行的存款取款问题最好能写出编出的具体程序 AccountTest.java class BankAccount //定义银行账户类BankAccount{private static int amount =2...

如何用Java线程实现银行的存款取款问题最好能写出编出的具体程序

AccountTest.java class BankAccount //定义银行账户类BankAccount{ private static int amount =2000; //账户余额最初为2000public void despoit(int m) //定义存款的方法{ amount=amount+m; System.out.println("晓明存入["+m+"元]"); } public void withdraw(int m) //定义取款的方法{ amount=amount-m; System.out.println("张新取走["+m+"元]"); if(amount0)System.out.println("***余额不足!***);public int balance() //定义得到账户余额的方法{ return amount; } } classicCustomerextendsThread { String name; BankAccount bs; //定义一个具体的账户对象public Customer(BankAccount b,String s){ name=s; bs=b; } public static void cus(String name,BankAccount bs) //具体的账户操作方法{ if(name.equals("小明")) //判断用户是不是小明{ try{ for(int i=0; i6; i++) //用户晓明则向银行存款6次,每次1000元 { Thread.currentThread().sleep((int)(Math.random()*300)); bs.despoit(1000); } } catch(InterruptedException e){ } } else{ try{ for(int i=0; i6; i++) //用户不是小明则从银行取款6次,每次1000元{ Thread.currentThread().sleep((int)(Math.random()*300)); bs.withdraw(1000); } } catch(InterruptedException e){ } } } public void run() //定义run方法} cus(name,bs); } } public classAccountTest{ public static void main(String [] args) throws InterruptedException{ BankAccount bs=new BankAccount(); Customer customer1=new Customer(bs,"小明"); Customer customer2=new Customer(bs,"张新"); Thread t1=new Thread(customer1); Thread t2=new Thread(customer2); t1.Start();t2.start(); Thread.currentThread().sleep(500); } }

JAVA 简单银行系统的代码

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class AccountDemo {

public static double MONEY = 0; // 初始化金额是100元。

public static void main(String[] args) {

final String USER_NAME = "zhangsan"; // 用户名

final String PASSWORD = "123456"; // 密码

while (true) {

System.out.print("请输入用户名:");

String user_name = getString();

System.out.print("请输入密码:");

String password = getString();

if (user_name != null user_name.equals(USER_NAME)

password != null password.equals(PASSWORD)) {

System.out.println("登陆成功!你要干什么?");

while (true) {

System.out.println("1:存款");

System.out.println("2:取款");

System.out.println("3:查询余额");

System.out.println("q:退出程序");

System.out.print("请选择:");

String userIn = getString();

int in = 0;

if (userIn != null userIn.equals("1")) {

in = Integer.parseInt(userIn);

} else if (userIn != null userIn.equals("2")) {

in = Integer.parseInt(userIn);

} else if (userIn != null userIn.equals("3")) {

in = Integer.parseInt(userIn);

} else if (userIn != null

userIn.trim().toUpperCase().equals("Q")) {

in = 4;

} else {

System.out.println("你输入的指令不正确!请重新输入。");

continue;

}

switch (in) {

case 1:

double add_money = 0;

while (true) {

System.out.print("请输入你要存入的金额:");

try {

add_money = Double.parseDouble(getString());

} catch (Exception e) {

System.out.println("金额输入不正确!");

continue;

}

break;

}

MONEY += add_money;

System.out.println("存入的金额是" + add_money

+ "\r\n请选择你要的操作:");

break;

case 2:

double money = 0;

while (true) {

System.out.print("请输入你要取出的金额:");

try {

money = Double.parseDouble(getString());

} catch (Exception e) {

System.out.println("金额输入不正确!");

continue;

}

if (money MONEY) {

System.out.println("取出的金额大于现有存款,请重新输入要取出的金额!");

continue;

}

break;

}

MONEY -= money;

System.out.println("取出的金额是" + money + "\r\n请选择你要的操作:");

break;

case 3:

System.out.println("你的余额是:" + MONEY + "\r\n请选择你要的操作:");

break;

case 4:

System.out.println("程序退出!");

return;

}

}

} else {

System.out.println("错误:用户名与密码不匹配!\r\n");

System.out.println("按任意键:重新输入用户名和密码。");

System.out.println("q:退出程序。");

System.out.print("请选择:");

String in = getString();

if (in.trim().toUpperCase().equals("Q")) {

break;

}

}

}

}

public static String getString() {

String str = null;

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

try {

str = br.readLine();

} catch (IOException e) {

e.printStackTrace();

}

return str;

}

}

用Java编写银行账户存取款业务,急求!!

public class Account {

protected String accId;

protected String name;

protected double money;

public Account (String accId,String name){

this(accId,name,0);

}

public Account (String accId,String name,double money){

this.accId = accId;

this.name = name;

this.money = money;

}

public void saveMoney(double money){

if(money = 0){

System.out.println("存款金额必须大于0");

}

this.money += money;

System.out.println("存款成功");

}

public double getMoney(double money){

if(money = 0){

System.out.println("取款金额必须大于0");

return 0;

}

if(this.money = money){

System.out.println("余额不足,无法取款");

return 0;

}

this.money -= money;

System.out.println("取款成功");

return money;

}

public double getBalance(){

return this.money;

}

protected double getOverdraft(){

return 0;

}

// 实现了equals方法,list比较时才能正确

@Override

public boolean equals(Object obj) {

if(obj == null){

return false;

}

if(this == obj){

return true;

}

if(obj instanceof Account){

return this.accId.equals(((Account)obj).accId);

}

return false;

}

@Override

public String toString() {

return "账户=" + accId + ",名字=" + name + ",余额=" + money;

}

}

public class Bank {

// Account实现了equals方法,list查找时才能正确

private ListAccount usersAccounts;

public Bank() {

usersAccounts = new ArrayListAccount();

}

public void addAccount(Account account) {

if (usersAccounts.contains(account)) {

System.out.println("添加失败,不能添加同样的账户");

return;

}

usersAccounts.add(account);

}

public boolean delAccount(Account account) {

return usersAccounts.remove(account);

}

public boolean delAccount(String accId) {

return delAccount(new Account(accId, null));

}

public boolean existAccount(Account account) {

return usersAccounts.contains(account);

}

public boolean existAccount(String accId) {

return existAccount(new Account(accId, null));

}

public Account getAccount(String accId){

return usersAccounts.get(usersAccounts.indexOf(new Account(accId, null)));

}

public double getAllMoney() {

// 不考虑是否溢出,只是把所有用户余额相加

double result = 0;

for (Account account : usersAccounts) {

result += account.getBalance();

}

return result;

}

public double getAllOverdraft() {

// 不考虑是否溢出

double result = 0;

for (Account account : usersAccounts) {

result += account.getOverdraft();

}

return result;

}

public int getAccountNum() {

return usersAccounts.size();

}

public int getCreditAccountNum() {

int num = 0;

for (Account account : usersAccounts) {

// instanceof 性能没有简单的方法快。

if (account instanceof CreditAccount) {

num++;

}

}

return num;

}

public int getSavingAccountNum() {

int num = 0;

for (Account account : usersAccounts) {

if (account instanceof SavingAccount) {

num++;

}

}

return num;

}

public ListAccount getAllAccount() {

return usersAccounts;

}

}

public class CreditAccount extends Account{

private double overdraft;

public CreditAccount(String accId,String name){

super(accId, name);

this.overdraft = 1000;

}

public CreditAccount(String accId,String name,double money){

this(accId, name,money,1000);

}

public CreditAccount(String accId,String name,double money,double overdraft){

super(accId, name,money);

this.overdraft = overdraft;

}

@Override

public double getMoney(double money) {

if(money = 0){

System.out.println("取款金额必须大于0");

return 0;

}

if(this.money + overdraft = money){

System.out.println("余额不足,无法取款");

return 0;

}

this.money -= money;

System.out.println("取款成功");

return money;

}

@Override

public double getOverdraft(){

return overdraft;

}

@Override

public String toString() {

return "账户=" + accId + ",名字=" + name + ",余额=" + money + ",透支=" + overdraft;

}

}

public class SavingAccount extends Account {

public SavingAccount(String accId, String name) {

super(accId, name);

}

public SavingAccount(String accId, String name, double money) {

super(accId, name, money);

}

@Override

public double getMoney(double money) {

return super.getMoney(money);

}

@Override

public double getOverdraft() {

return super.getOverdraft();

}

}

public class Test {

private static Bank bank = new Bank();

public static void main(String[] args) {

Test.genAccount();

// 开户

Account a1 = new CreditAccount("1", "1", 200, 2000);

Account a2 = new SavingAccount("2", "2", 300);

Account a3 = new SavingAccount("3", "3", 400);

Account a4 = new CreditAccount("4", "4", 500, 2000);

Account a5 = new CreditAccount("4", "5", 600, 2000);  // 帐号4重

bank.addAccount(a1);

bank.addAccount(a2);

bank.addAccount(a3);

bank.addAccount(a4);

bank.addAccount(a5);

showNowAccount();

// 销户

bank.delAccount("1");

bank.delAccount("2");

showNowAccount();

// 存款

if(bank.existAccount("3")){

Account acc  = bank.getAccount("3");

acc.saveMoney(100);

}

showNowAccount();

// 取款

if(bank.existAccount("3")){

Account acc  = bank.getAccount("3");

System.out.println("余额=" + acc.getBalance());

acc.getMoney(100);

System.out.println("余额=" + acc.getBalance());

acc.getMoney(1000);

System.out.println("余额=" + acc.getBalance());

}

if(bank.existAccount("4")){

Account acc  = bank.getAccount("4");

System.out.println("余额=" + acc.getBalance());

acc.getMoney(100);

System.out.println("余额=" + acc.getBalance());

acc.getMoney(1000);

System.out.println("余额=" + acc.getBalance());

acc.getMoney(10000);

System.out.println("余额=" + acc.getBalance());

}

System.out.println(bank.getAccountNum());

System.out.println(bank.getAllMoney());

System.out.println(bank.getAllOverdraft());

System.out.println(bank.getCreditAccountNum());

System.out.println(bank.getSavingAccountNum());

}

public static void genAccount(){

String s = "1000 0000 0000 000";

Account a = null;

for(int i = 1;  i  11;  i ++){

if((i  2) == 0){

a = new CreditAccount(s + String.valueOf(i), "账户" + String.valueOf(i));

}  else {

a = new SavingAccount(s + String.valueOf(i), "账户" + String.valueOf(i));

}

bank.addAccount(a);

}

}

public static void showNowAccount(){

for(Account account : bank.getAllAccount()){

System.out.println(account);

}

}

}

// 面向对象,看多写多了就会了,简单的随便写的,有错误先不用太纠结。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 银行存款java程序代码 java银行存款程序设计
本文地址: https://pptw.com/jishu/4129.html
java代码可访问级别 java有几种访问权限 包含vb点虐接口使用的词条

游客 回复需填写必要信息