⑴ 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这个用户默认成开户状态了。