导航:首页 > 编程语言 > java银行叫号

java银行叫号

发布时间:2023-01-21 07:50:02

java编写银行账户操作模拟

这个很简单,你只是要设计对吧?如果你不实现GUI的话,就可以用字符输入来公职系统,一个main方法,监听着用户输入,1存款、2取款、3查询余额、4显示账号.用户输入什么数字进入到相应的方法。每个方法可以用jdbc直接访问oracle。

但是,个人建议,做个GUI没什么难的,这个BS结构的比较合适。不知道你的jsp+js+css等学的如何,如果可以的话可以用spring+struts+ibitis来做,很简单,估计1天就弄好了。

有什么不懂可以追问
望采纳

⑵ JAVA编写银行账户程序摸拟银行账户的存\取款操作

public class ATM {
public static void main(String[] args) {
// 开立帐号
Account account = new Account();
// 在 account 中存 10,000 元
account.setBalance(10000);
// 检查 account 中的存款
System.out.println("帐户原始金额 : " + account.getBalance() + " 元");

// 小明, 小华与小英一起对 account 进行提款的动作
WithDraw s1 = new WithDraw("小明", account, 5000); // 小明 在 account 中提 5000 元
WithDraw s2 = new WithDraw("小华", account, 2000); // 小华 在 account 中提 2000 元
WithDraw s3 = new WithDraw("小英", account, 4000); // 小英 在 account 中提 4000 元
s1.start();
s2.start();
s3.start();

}
}

//帐户
class Account {
private int balance; // 帐户馀额

public int getBalance() { // 取得帐户馀额
return balance;
}

public void setBalance(int money) { // 设定帐户馀额
balance = money;
}

// 提款方法
public void withDraw(Account account, int withdrawMoney) {

String tName = Thread.currentThread().getName(); // tName=提款人

System.out.println(tName + " 开始提款 ... ");

boolean withDrawStatus; // 提款状态 说明:false=提款失败, true=提款成功

synchronized(ATM.class) {
int tmpBalabce = account.getBalance(); // 取得最新帐户馀额

//用 for-loop 模拟提款时系统所花的时间
for(double delay=0;delay<99999999;delay++) {
// ... 提款进行中 ...
}

tmpBalabce = tmpBalabce - withdrawMoney; // 最新帐户馀额 - 欲提款金额 (用来判断是否馀额足够的依据)

if (tmpBalabce < 0) { // 判断是否馀额足够
withDrawStatus = false;
System.out.println("....................");
System.out.println(" 帐户馀额不足!");
System.out.println("....................");
} else {
withDrawStatus = true;
account.setBalance(tmpBalabce); // 回存account最后剩馀金额
}
}

System.out.println(tName + "的交易单:");
System.out.println("\t欲提款金额:" + withdrawMoney + "元");
System.out.println("\t帐户馀额:" + account.getBalance());

if(withDrawStatus == true){
System.out.println(tName + " 完成提款 ... ");
} else {
System.out.println(tName + " 提款失败 ... ");
}

System.out.println("-------------------------------");

}
}

// 提款类别
class WithDraw extends Thread {
private Account account; // 帐号
private int withdrawMoney; // 欲提款的金额

// tName:执行绪名称, account:Account物件名称, withdrawMoney:欲提款金额
public WithDraw(String tName, Account account, int withdrawMoney) {
setName(tName);
this.account = account;
this.withdrawMoney= withdrawMoney;
}

public void run() {
// 执行提款动作(account:帐号, withdrawMoney 欲提款金额)
account.withDraw(account, withdrawMoney); // 执行提款动作
}
}

⑶ 用JAVA编程设计一个银行账户类,其中包括以下内容,并用字符界面模拟存款和取款过程。

import java.util.Scanner;

public class ZH {

private String zh;//账户
private String password;//密码
private String openTime;//开户时间
private String sfz;//身份证号
private double je;//存款金额
public String getZh() {
return zh;
}
public void setZh(String zh) {
this.zh = zh;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getOpenTime() {
return openTime;
}
public void setOpenTime(String openTime) {
this.openTime = openTime;
}
public String getSfz() {
return sfz;
}
public void setSfz(String sfz) {
this.sfz = sfz;
}
public double getJe() {
return je;
}
public void setJe(double je) {
this.je = je;
}

//存款方法
public void ck(double je){
this.je=this.je+je;//存入的金额加上原有的金额
}

//取款方法
public void qk(double je){
if(je>this.je){//取款金额大于余额
System.out.println("存款余额不足");
}else{
this.je=this.je-je;//原有的金额减去取出的金额
}
}
public static void main(String[] args) {
ZH zh = new ZH();//初始化一个账户信息
zh.setJe(10000.0);//向zh账户添加余额
zh.setOpenTime("2013.12.3");//向zh账户添加开发时间
zh.setPassword("123456");//向zh账户添加密
zh.setSfz("123456789");//向zh账户添加身份证
zh.setZh("zhangsan");//向zh账户添加账号
System.out.println("欢迎光临模拟银行");
Scanner scan = new Scanner(System.in);
int count=0;//记录输入错误的次数
while(1==1){//循环
System.out.println("请输入账号");
String zhm=scan.next();
System.out.println("请输入密码");
String mm=scan.next();
if(zhm.equals(zh.getZh()) && mm.equals(zh.getPassword())){//输入的信息与zh账户信息的密码和账号一致
while(1==1){
System.out.println("当前余额为:"+zh.getJe()+"元。请选择操作:1.存款;2.取款;3.退出(只能输入数字)");
String cz=scan.next();
switch (Integer.parseInt(cz)) {
case 1:
System.out.println("请输入存款金额(输入小数)");
double ckje=scan.nextDouble();
zh.ck(ckje);
System.out.println("实施存款:"+ckje+"元,当前余额为"+zh.getJe()+"元");
break;
case 2:
System.out.println("请输入取款金额(输入小数)");
double qkje=scan.nextDouble();
zh.qk(qkje);
System.out.println("实施取款:"+qkje+"元,当前余额为"+zh.getJe()+"元");
break;
case 3:
break;
default:
System.out.println("暂无此功能");//输入1或者2、3以外的操作
break;
}
if("3".equals(cz)){
break;
}
}
System.out.println("退出操作");
break;
}else{

if(count>=3){
System.out.println("已输入错误三次,账号被锁");
break;//结束循环
}else{
System.out.println("账号或密码错误,请重新输入");
count++;//错误一次count+1
continue;//进入下次循环
}
}
}

}
}

⑷ Java语言程序设计:设计银行账户类,属性包括账号、储户名称、开户时间、身份证号码、存款余额等

写个例子吧,既没有分,又不付费。。。。真的是。。
public class account{
public static int serviceNum;
private String account;
private String password;
......
public String getAccount(){
return this.account;
}
public void setAccount(String account){
this.account = account;
}
public String getPassword(){
return this.password;
}
public void setPassword(String password){
this.password = password
}
public Account(String account,String password){
this.account = account;
this.password = password;
}
public Account(String account){
this.account = account;
}
@overrite
public String toString(){
return this.account + "-" + this.password;
}
}

⑸ 用JAVA语言编写程序,模拟银行账户功能。要有: 属性:账号、储户姓名、地址、存款余额、最小余额。

package com.cshr.test;

public class bank {
private String card;//账号
private String uname;//储户姓名
private String address;//地址
private double money;//存款余额
public static final double minMoney=0;//最小余额
public bank(){}

public String getCard() {
return card;
}
public void setCard(String card) {
this.card = card;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public static double getMinmoney() {
return minMoney;
}
}

package com.cshr.test;

import java.util.List;

import org.hibernate.Session;

import com.utils.HibernateSessionFactory;

public class bankDao {
//存款
public void addMoney(double money,double Sqlmoney,String card){
Session session=HibernateSessionFactory.getSession();
try{
session.beginTransaction();

String hql="update bank b set b.money+="+money+Sqlmoney+" where b.card='"+card+"'";
session.createQuery(hql).executeUpdate();
session.beginTransaction().commit();
}catch(Exception e){
e.printStackTrace();
session.beginTransaction().rollback();
}finally{
HibernateSessionFactory.closeSession();
}
}
//取款
public void delMoney(double money,double Sqlmoney,String card){
Session session=HibernateSessionFactory.getSession();
try{
session.beginTransaction();

String hql="update bank b set b.money+="+(Sqlmoney-money)+" where b.card='"+card+"'";
session.createQuery(hql).executeUpdate();
session.beginTransaction().commit();
}catch(Exception e){
e.printStackTrace();
System.out.println("取款失败");
session.beginTransaction().rollback();
}finally{
HibernateSessionFactory.closeSession();
}
}
//查询所有
public List<bank> selectfind(){
Session session=HibernateSessionFactory.getSession();
session.beginTransaction();
String hql="select b from bank b ";
List<bank> list=session.createQuery(hql).list();
return list;
}
}

⑹ 在java中,声明银行账户类,成员变量包括账号,储户姓名,开户时间,身份证号码,存款余额等账户信息,成

import java.util.Scanner; public class bank
{ int number,id; int year,month,day; float money; String name; void set(int y,int m,int d)
{ year=y; month=m; day=d; } public String toString()

{ return year+"年"+month+"月"+day+"日"; } public float money1(int n)
{ money=money+n; return money; } public float money2(int x)
{ if(money<x) return 0; money=money-x; return money; } public static void main(String args[])
{ bank b=new bank(); b.set(2009,8,6); b.money=0; b.number=1; b.id=20102; b.name="张三"; System.out.println("用户名:"+b.name);
System.out.println("身份证号:"+b.id); System.out.println("开户日期是:"+b.toString()); System.out.print("请输入存入的数额:"); Scanner sc = new Scanner(System.in); int i = sc.nextInt(); b.money1(i); System.out.print("账户余额:"+b.money); System.out.println(); System.out.print("请输入取款余额:"); Scanner cc = new Scanner(System.in); int j = cc.nextInt(); b.money2(j); System.out.print("账户余额:"+b.money); } }

⑺ 求助!银行排队叫号程序,java待完善。。。

importjava.awt.Color;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;

importjavax.swing.ButtonGroup;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JTextField;

{
inttotal=0,now=0;
booleanis1Ready=false,is2Ready=false,is3Ready=false;
intcall1,call2,call3;
JFramejf;
JLabeljr,jl,jl1,j2,jl2,j3,jl3;
JTextFieldjr4;
JButtonjb,jb1,jb2,j1;
JButtonworkBut1,workBut2,workBut3;
JPaneljp,jp1,jp2;

publicBankWaiting(){
setLayout(null);
jf=newJFrame("银行叫号程序");//窗体
jr=newJLabel("请**号到*号窗口办理业务");
jr.setBounds(300,10,800,50);
jr.setForeground(Color.red);
j1=newJButton("取号");
j1.addActionListener(this);
jr4=newJTextField("欢迎");
jr4.setEditable(false);
ButtonGroupbg=newButtonGroup();
bg.add(j1);
jp=newJPanel();
jl=newJLabel("一号窗口");
jl1=newJLabel("一号窗口,欢迎你!");
jb=newJButton("下一位");
workBut1=newJButton("开始办理");
workBut1.addActionListener(this);
jb.addActionListener(this);
jp.setBackground(Color.pink);
jp.setSize(200,80);//大小
jp.setLocation(20,120);//位置
jf.setLayout(null);
jp1=newJPanel();
j2=newJLabel("二号窗口");
jl2=newJLabel("二号窗口,欢迎你!");
jb1=newJButton("下一位");
workBut2=newJButton("开始办理");
jb1.addActionListener(this);
workBut2.addActionListener(this);
jp1.setBackground(Color.pink);
jp1.setSize(200,80);//大小
jp1.setLocation(250,120);//位置
jf.setLayout(null);
jp2=newJPanel();
j3=newJLabel("三号窗口");
jl3=newJLabel("三号窗口,欢迎你!");
jb2=newJButton("下一位");
workBut3=newJButton("开始办理");
workBut3.addActionListener(this);
jb2.addActionListener(this);
jp2.setBackground(Color.pink);
jp2.setSize(200,80);//大小
jp2.setLocation(500,120);//位置
jf.setLayout(null);
jf.add(jp);
jf.add(jp1);
jf.add(jp2);
jf.add(jr);
jp.add(jl);
jp.add(jl1);
jp.add(jb);
jp.add(workBut1);
jp1.add(j2);
jp1.add(jl2);
jp1.add(jb1);
jp1.add(workBut2);
jp2.add(j3);
jp2.add(jl3);
jp2.add(jb2);
jp2.add(workBut3);

jf.add(j1);
jf.add(jr4);
j1.setBounds(550,300,60,30);
jr4.setBounds(300,300,200,40);
jf.setSize(800,600);
jf.setVisible(true);
jf.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
}

publicvoidactionPerformed(ActionEvente){
Strings="";
if(e.getSource()==j1){
s="第"+(++total)+"号,前面还有"+(total-now-1)+"位顾客!";
jr4.setText(s);
}
if(e.getSource()==jb){
if(this.hasCustomers()){
s="请"+(++now)+"号顾客到一号窗口办理";
call1=now;
jl1.setText(s);
jr.setText(s);
is1Ready=true;
}else{
s="当前已经没有顾客了";
jl1.setText(s);
is1Ready=false;
}

}elseif(e.getSource()==jb1){
if(this.hasCustomers()){
s="请"+(++now)+"号顾客到二号窗口办理";
call2=now;
jl2.setText(s);
jr.setText(s);
is2Ready=true;
}else{
s="当前已经没有顾客了";
jl2.setText(s);
is2Ready=false;
}
}elseif(e.getSource()==jb2){
if(this.hasCustomers()){
s="请"+(++now)+"号顾客到三号窗口办理";
call3=now;
jl3.setText(s);
jr.setText(s);
is3Ready=true;
}else{
s="当前已经没有顾客了";
jl3.setText(s);
is3Ready=false;
}
}
if(e.getSource()==workBut1){
if(is1Ready){
s=call1+"号顾客正在办理业务。。。";
jl1.setText(s);
is1Ready=false;
}

}elseif(e.getSource()==workBut2){
if(is2Ready){
s=call2+"号顾客正在办理业务。。。";
jl2.setText(s);
is2Ready=false;
}

}elseif(e.getSource()==workBut3){
if(is3Ready){
s=call3+"号顾客正在办理业务。。。";
jl3.setText(s);
is3Ready=false;
}
}
}

publicbooleanhasCustomers(){
if(now<total){
returntrue;
}else{
returnfalse;
}
}

publicstaticvoidmain(String[]args){
newBankWaiting();
}
}

⑻ JAVA怎么定义方法 setLocation(int, int)

写一个队列,就是生产者和消费者类型的仓库,下面proct是产品类,你可以把它改成号码
public class SyncStack {
private int rear;//队尾
private int front;//队头
private Proct[] queArray;//队列

public SyncStack(int s) {
front = 0;
queArray = new Proct[s];
rear = -1;
}
//入队列
public synchronized void push(Proct proct) {
while (rear == queArray.length - 1) {
try {
this.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
this.notifyAll();
queArray[rear + 1] = proct;
rear++;
}
//出队列
public synchronized Proct pop() {
while (front == rear + 1) {
try {
this.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
front++;
this.notifyAll();
return queArray[front-1];
}
}

⑼ java作业:创建一个银行,银行里面有5个账户(账号,密码,钱)。要求:1、开户;2、开户以后才能

两个实体类

实体类1:

public class Bank {

private List<Card> list;

public Bank() {

super();

}

public Bank(List<Card> list) {

super();

this.list = list;

}

public List<Card> getList() {

return list;

}

public void setList(List<Card> list) {

this.list = list;

}

}

实体类2:

public class Card {

private String id;

private String password;

private String isOpen; //判断是否开户 0开户 1没开户

private double money;

public Card() {

super();

}

public Card(String id, String password, String isOpen ,double money) {

super();

this.id = id;

this.password = password;

this.isOpen = isOpen;

this.money = money;

}

public double getMoney() {

return money;

}

public void setMoney(double money) {

this.money = money;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getIsOpen() {

return isOpen;

}

public void setIsOpen(String isOpen) {

this.isOpen = isOpen;

}

@Override

public String toString() {

return "Card [id=" + id + ", password=" + password + ", isOpen=" + isOpen + ", money=" + money + "]";

}

}

逻辑处理类:

public class TestService {

public Bank addUserInfo(){

Card card = new Card("1","1","0",10000);

Card card1 = new Card("2","2","1",20000);

Card card2 = new Card("3","3","1",30000);

Card card3 = new Card("4","4","1",40000);

Card card4 = new Card("5","5","1",50000);

List<Card> list = new ArrayList<>();

list.add(card);

list.add(card1);

list.add(card2);

list.add(card3);

list.add(card4);

Bank bank = new Bank();

bank.setList(list);

List<Card> list1 = bank.getList();

return bank;

}

public Card login(Bank bank , String id,String password){

Card card1 = null;

List<Card> list = bank.getList();

for (Card card : list) {

if(id.equals(card.getId()) && password.equals(card.getPassword())){

card1 = card;

break;

}

}

return card1;

}

}

测试类:

public class Test {

public static void main(String[] args) {

TestService service = new TestService();

Bank bank = service.addUserInfo();

System.out.println("****************************");

System.out.println("*********欢迎进入银行系统********");

System.out.println("****************************");

Scanner input = new Scanner(System.in);

System.out.println("请输入卡号");

String id = input.next();

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

String password = input.next();

Card card = service.login(bank , id, password);

if(card != null){

System.out.println("登陆成功");

}else{

System.out.println("登陆失败 ");

}

System.out.println("请选择你要的操作");

System.out.println("1.取款 2.查询余额 3.注销");

Scanner input1 = new Scanner(System.in);

String aa = input1.next();

if(aa.equals("3")){

System.out.println("注销成功");

}else if(aa.equals("2")){

System.out.println("卡号是:"+card.getId()+"余额是:"+card.getMoney());

}else if(aa.equals("1")){

if(card.getIsOpen().equals("1")){

System.out.println("对不起您的卡号没有开户,不能取款");

}else{

System.out.println("请输入取款金额");

Scanner input2 = new Scanner(System.in);

String bb = input2.next();

if(Double.parseDouble(bb) > card.getMoney() ){

System.out.println("余额不足");

}else{

card.setMoney(card.getMoney() - Double.parseDouble(bb) );

System.out.println("取款成功,取款金额"+bb+"余额是:"+card.getMoney());

}

}

}

}

}

这个是我简单写的逻辑,看你的需求应该就是这样,没有牵扯到数据库。。运行效果如图:

需要源码的话你把邮箱发给我,具体逻辑你还需要自己再修改一下,我只是把基本功能写出来了,还有开户操作我还没写,我只是把1这个用户默认成开户状态了。

阅读全文

与java银行叫号相关的资料

热点内容
服务器上如何查看服务器的端口 浏览:676
单片机服务器编译 浏览:768
单口usb打印机服务器是什么 浏览:859
战地五开服务器要什么条件 浏览:954
在word中压缩图片大小 浏览:253
javatomcat图片 浏览:417
程序员生产智能创意 浏览:65
汇和银行app怎么登录 浏览:381
腾讯服务器如何上传源码 浏览:745
单片机的原理概述 浏览:510
火控pdf 浏览:267
如何复制云服务器centos环境 浏览:984
债权pdf 浏览:303
红色番字的app怎么下载 浏览:876
云服务器流程教课 浏览:702
中国农业银行app怎么没有网 浏览:997
几率表算法 浏览:902
程序员理工科 浏览:708
企业邮箱登录收件服务器地址 浏览:560
计算机思维与算法设计的重要性 浏览:664