问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA|模拟ATM机|期末课程设计|链接数据库

发布网友 发布时间:2022-05-01 12:58

我来回答

3个回答

懂视网 时间:2022-05-01 17:19

abstract class ATM { private double balance; private String idcard; private String password; public String getIdcard() { return idcard; } public void setIdcard(String idcard) { this.idcard = idcard; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public double getBalance() { return balance; } public void setBalance(double balance) { this.balance = balance; } public void balance() { } public boolean cunkuan(double cun) { if(cun >0) { balance += cun; System.out.println("存款成功!"); return true; } else { System.out.println("您输入的存款数不正确,将退出该服务!"); return false; } } public boolean qukuan(double qu) { if(qu <= balance) { balance -=qu; System.out.println("取款成功!"); return true; } else { System.out.println("取款失败,将退出该服务!"); return false; } } //添加开户的抽象方法 public abstract void kaihu(); }

ATM子类,并实现其开户的方法

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class ChildATM extends ATM {
 
 //添加抽象类的开户方法并实现该方法
 @Override
 public void kaihu() {
 System.out.println("*********************");
 System.out.println("您选择的为开户功能");
 System.out.println("请输入您的姓名:");
 ChildATM cs= new ChildATM();
 cs.setBalance(300);
 Scanner sc = new Scanner(System.in);
 String name=sc.nextLine();
 for(int i=1;i>0;i++)
 {
  System.out.println("请输入您的身份证号");
  Scanner sc1= new Scanner(System.in);
  String idcard=sc1.nextLine();
  if(idcard.length()==18)
  { //判断密码输入的次数
  for(i=0;i<3;i++)
  {
   System.out.println("请输入您的密码");
   String password =sc.nextLine();
   int input =Integer.parseInt(password) ;
   if(input >=100000 && input <1000000)
   {
   System.out.println("开户成功");
   cs.setIdcard(idcard);
   cs.setPassword(password);
   break;
   }
   else
   {
   System.out.println("请输入6位数的密码");
   }
   System.out.println("您输入的密码有误,请重新输入"+"您的输入次数还有"+(2-i));
   
  }
  break;
  }
  else
  {
  System.out.println("身份证位数不正确,请继续输入");
  
  }
 } 
  int account =(int)((Math.random()*10)*100000);
 System.out.println("您的账号为:"+account);
 //访问数据库
  //1.加载驱动,加载数据库提供的驱动类
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   //2.获取数据库的连接 :通过数据库的管理
   //url:数据库的地址
   //user:用户名
   //password:密码
   Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "test0816", "laoer123");
   System.out.println("数据库连接成功");
   //操作数据库
   //3.获得操作数据库的声明
   Statement st = conn.createStatement();
   //4.DML增加数据
   //执行更新操作
   //返回值代表该操作值记录返回的条数
   //将输入的数据存入数据库中
  
   int i = st.executeUpdate("insert into account (a_id,a_name,a_password,a_idcard,a_balance)"+"values(‘"+account+"‘,‘"+name+"‘,‘"+cs.getPassword()+"‘,‘"+cs.getIdcard()+"‘,‘"+cs.getBalance()+"‘)");
   System.out.println("操作数据成功,返回值="+i);
   //关闭释放资源
   st.close();
   conn.close();
   } 
  
  catch (ClassNotFoundException | SQLException e) {
   e.printStackTrace();
  }
 

 }

}

ATM测试类

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

import unionpay.ChildATM;

public class TestBank {
 
 public static void main(String[] args) {
 System.out.println("银行自助终端系统");
 System.out.println("********************");
 System.out.println("0---------------开户");
 System.out.println("1---------------查询");
 System.out.println("2---------------存款");
 System.out.println("3---------------取款");
 System.out.println("4---------------退出");
 ChildATM ca= new ChildATM();
 for(int i=1;i>0;i++){
  System.out.println("请输入您要选择的功能");
  Scanner sc = new Scanner(System.in);
  int num=sc.nextInt();
  switch(num)
  {
  case 0:
  ca.kaihu();
  break;
}
}
}
}

技术分享

技术分享

 

模拟ATM机将输入的数据插入数据库

标签:

热心网友 时间:2022-05-01 14:27

卡 - 输入密码 - 和正确的 - “输入金额 - ” - “的提示(没有足够的钱)

正确的错误 - ” - “删除
错误 - 提示
如果电源发生故障,它回滚的第一步电源你的钱取不出来

热心网友 时间:2022-05-01 15:45

+程+如果您的要求与此类似,也可以与我们联系
+序+功能可定制,匹配不同程度
+设+
+计+
+制+有偿处理此类问题,
+作+可 Bai Hi / 发私信 / 发追问 / 发求助 / 或加Q 1158659106
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 使命召唤手游怎么换人物 使命召唤手游女性角色 电热水器gb4706.19-2008 合格吗 gb470612一2006是什么意思 美的电压力锅的型号gb4706尺寸305.305.545cm多少钱 怎样清洗gb4706美的热水器 使命召唤手游怎么设置性别 使命召唤手游如何更改性别 美的热水器GB47061怎么使用 如何来鉴别玉的真假? 怎么辨别玉的真假?? 怎么改变定时器定时时间,改成一秒变一次 定时器的定时时间=___*___。 8051单片机中,定时器的定时时间与(+)、(+)及(+)+三个因素有关。_百度问一问 241*279三联彩纸在AR970针式打印机里怎样设置尺寸 华为路由器有绿灯但是手机搜不到wifv是怎么回事? 华为荣耀x3 pro绿灯但是wifi没网 论在语文教学中如何培养小学生的读中感悟能力 华为路由器c28如何亮绿灯? 华为路由器有绿灯但是不没有网? 使命召唤手游如何改名 广东美的电压力锅执行标准GB47o61一2005。GB470619一2008。Q&#47;MD007一20 使命召唤手游改名卡怎么获取 改名卡获取途径 等动车,或者火车提前多久候车? 《使命召唤手游》里面的女玩家多吗?适合女生玩吗? 西屋破壁机GB47061_2005多少钱? 在使命召唤手游里怎么配R 使命召唤手游中文设置在哪? 支付宝能登进医保卡绑定是有吗 热水器依据国家标准GB 21519_2008什么意思美的牌? 华硕ZenPad 3S 10和华为平板 M3哪个好 如何理解自然界是物质的 如何理解自然界是物质的?? 自然界是物质的,社会是物质和意识相结合的产物 哲学上讲得物质世界是指自然界,还是人类 iphone6手机屏幕有红条怎么办 大自然包括地球以外的星球和物质吗? 怎么去掉录音时手机屏幕上方的的红色标 志? 自然界是由物质组成的,光是属于自然界的,能否推出光是又物质组成的? 如何隐藏录制手机屏幕时的红条