JAVA 面向对象第四天
来源:互联网 发布:单片机课程设计报告 编辑:程序博客网 时间:2024/05/01 21:42
ATM机的面向对象编程
package com.lovo.bean;
import java.util.Scanner;
public class Atm {
private int cash;//现金
private UserInfo theUser;//用户信息
public final int MAX_CASH = 100000;//最大现金数
public Atm(){
this.theUser = new UserInfo("王二麻子","123456","111111",20000);
this.cash = 50000;
}
//运行--完成流程控制
public void run(){
this.welcome();
boolean flag = this.login();
if(flag){
while(true){
int choice = this.choiceMenu();
switch(choice){
case 1:
this.query();
break;
case 2:
this.getMoney();
break;
case 3:
this.saveMoney();
break;
case 4:
this.changPwd();
break;
case 5:
this.exit(0);
break;
default:
System.out.println("只能输入数字1-5,请重新输入!");
break;
}
}
}else{
this.exit(1);
}
}
//欢迎
private void welcome(){
System.out.println("***************************");
System.out.println("**********欢***迎***********");
System.out.println("**********使***用***********");
System.out.println("**********爱存不存***********");
System.out.println("**********银***行***********");
System.out.println("***************************");
}
//登录
private boolean login(){
Scanner scan = new Scanner(System.in);
for(int i = 0; i < 3; i++){
System.out.println("请输入卡号:");
String inputCardNum = scan.next();
System.out.println("请输入密码:");
String inputPwd = scan.next();
if(inputCardNum.equals(this.theUser.getCardNum()) &&
inputPwd.equals(this.theUser.getPassword())){
System.out.println("登录成功!");
return true;
}
System.out.println("您还有" + (2 - i) + "次机会!");
}
System.out.println("三次卡号密码输入错误,卡被没收!");
return false;
}
//选择菜单
private int choiceMenu(){
Scanner scan = new Scanner(System.in);
System.out.println("请选择您要操作的业务:");
System.out.println("1、查询余额;2、取款业务;3、存款业务;4、修改密码;5、退出");
int choice = scan.nextInt();
return choice;
}
//查询
private void query(){
System.out.println("您当前的余额是:" + this.theUser.getAccount() + "元。");
}
//存钱
private void saveMoney(){
Scanner scan = new Scanner(System.in);
System.out.println("请输入你要存入的金额:");
int inputMoney = scan.nextInt();
if(inputMoney <= 0){
System.out.println("你输入的钱是负数,无法操作!");
return;
}
if(inputMoney % 100 != 0){
System.out.println("你输入的钱不是100的整数,无法操作!");
return;
}
if(this.cash + inputMoney > this.MAX_CASH){
System.out.println("本机容量不足,无法操作!");
return;
}
this.cash += inputMoney;
this.theUser.setAccount(this.theUser.getAccount() + inputMoney);
System.out.println("存钱操作已经成功,谢谢!");
}
//取钱
private void getMoney(){
Scanner scan = new Scanner(System.in);
System.out.println("请输入你要取出的金额:");
int outputMoney = scan.nextInt();
if(outputMoney <= 0){
System.out.println("你输入的钱是负数,无法操作!");
return;
}
if(outputMoney % 100 != 0){
System.out.println("你输入的钱不是100的整数,无法操作!");
return;
}
if(this.theUser.getAccount() < outputMoney){
System.out.println("您账户的余额不足,无法操作!");
return;
}
if(this.cash <= outputMoney){
System.out.println("本机现金不足,无法操作!");
return;
}
this.theUser.setAccount(this.theUser.getAccount() - outputMoney);
this.cash -= outputMoney;
System.out.println("取钱操作已经成功,请收好现金!");
}
//修改密码
private void changPwd(){
Scanner scan = new Scanner(System.in);
System.out.println("请输入原密码:");
String oldPwd = scan.next();
System.out.println("请输入新密码:");
String newPwd = scan.next();
System.out.println("请确认新密码:");
String reNewPwd = scan.next();
if(!oldPwd.equals(this.theUser.getPassword())){
System.out.println("原密码输入错误!");
return;
}
if(!newPwd.equals(reNewPwd)){
System.out.println("两次新密码输入不一致!");
return;
}
this.theUser.setPassword(newPwd);
System.out.println("新密码设置成功!");
}
//退出
private void exit(int status){
if(status == 1){
System.out.println("本机停止为您服务,请去柜台操作处理!");
}else if(status == 0){
System.out.println("谢谢您的使用,期待下次为您服务!");
}
System.exit(0);
}
}
package com.lovo.bean;
public class UserInfo {
private String username;//用户名
private String cardNum;//卡号
private String password;//密码
private float account;//账户额
public UserInfo(){
}
public UserInfo(String username, String cardNum, String password,float account){
this.username = username;
this.cardNum = cardNum;
this.password = password;
this.account = account;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getCardNum() {
return cardNum;
}
public void setCardNum(String cardNum) {
this.cardNum = cardNum;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public float getAccount() {
return account;
}
public void setAccount(float account) {
this.account = account;
}
}
package com.lovo.test;
import java.util.Scanner;
import com.lovo.bean.Atm;
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new Atm().run();
- JAVA 面向对象第四天
- java学习--面向对象(第四天)
- 黑马程序员--java自学--第四天:面向对象
- Java学习第四周(2)--面向对象第四天
- java基础 第四章 面向对象
- JAVA面向对象练习05第四种
- 第四天面向对象之继承特性
- C#面向对象第四天总结
- 黑马程序员--第四天(面向对象)
- IOS第四天_面向对象2
- 面向对象 第四课
- 第四章 面向对象
- java 第四天 面向对象(基础篇之引用传递及基本应用)
- [疯狂Java讲义精粹] 第四章|面向对象(上)
- 黑马程序员java 第四篇《面向对象(下)》
- Java基础第四篇 面向对象的基本概念(中)
- Java温习——面向对象第四部分
- 第四篇:JAVA之面向对象(上)
- unity3d开源Ultimate MMORPG插件技术文档渣翻译第2页
- Oracle数据库备份与恢复 - RMAN备份
- Spring事务配置的五种方式
- java多线程01
- python学习心得实例(3)
- JAVA 面向对象第四天
- Oracle中rownum的用法
- Spring的核心机制依赖注入简介
- HDU1258Sum It Up
- Two Sum
- 软件工程 软件工程师的誓言
- 【POJ 1094】Sorting It All Out
- 基于SSH验证框架的validation.xml验证不执行
- 黑马程序员——Java基础--IO流(二)