ATM程序设计(java)

package com.authr.day2;

import java.util.Scanner;

public class ATM2 {

private static String username ="admin";

private static String password= "123";

private static double monery = 10000;

private static String isContinue="y";

static Scanner scanner  = new Scanner(System.in);

public static void main(String[] args) {

welcome();

Login();

}

/***

* 欢迎界面

*

*/

public static void welcome(){

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

System.out.println("*********    欢迎进入          ********");

System.out.println("*********  中国建设银行     *********");

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

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

}

/*****

*

* 登陆判断

*

*/

private static void Login() {

for (int i = 3; i >0; i--) {

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

String input_username = scanner.next();

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

String input_password = scanner.next();

if((!input_username.equals(username) || !input_password.equals(password))&&(i-1)>0 ){

System.out.println("账号或密码错误!输入机会还剩下"+(i-1)+"次");

}else if((i-1)==0){

System.out.println("错误输入3次,已吞卡,请联系客服.....");

break;

}else {

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

showMenu();

break;

}

}

}

/***

*

* 操作菜单

*

*/

private static void showMenu() {

while(isContinue.equals("y")){

System.out.println("操作如下\n 1.查询  2.存款  3.取款  4.修改密码  5.退出");

int code = scanner.nextInt();

switch(code){

case 1:

showMonery();

break;

case 2:

inputMonery();

break;

case 3:

outMonery();

break;

case 4:

modifyMonery();

break;

case 5:

layout();

break;

default:

System.out.println("非法输入");

}

}

}

/***

*

* 查询余额

*

*/

private static void showMonery() {

System.out.println("当前余额为:"+monery);

isContinue();

}

/***

*

* 存款

*

*/

private static void inputMonery() {

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

double temp_monery = scanner.nextDouble();

if(temp_monery<=0){

System.out.println("输入金额非法");

}else if(temp_monery>10000){

System.out.println("单次存款最高1万元");

}else if(temp_monery%100 !=0){

System.out.println("存款的金额必须是100的倍数");

}else{

monery +=temp_monery;

System.out.println("存款成功!当前余额为:"+monery);

}

isContinue();

}

/***

* 取款

*

*/

private static void outMonery() {

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

double outMonery = scanner.nextDouble();

if(outMonery <=0){

System.out.println("输入取款的金额非法");

}else if(outMonery>monery){

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

}else if(outMonery>5000){

System.out.println("单次取款不能超过5000元");

}else if(outMonery %100 !=0){

System.out.println("取款的金额必须为100的倍数");

}else{

monery -=outMonery;

System.out.println("取款成功!当前余额为:"+monery);

}

isContinue();

}

/***

*

* modify;修改密码

*/

private static void modifyMonery() {

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

String temp_password = scanner.next();

if(!temp_password.equals(password)){

System.out.println("旧密码不对!旧密码为"+password);

}else{

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

String newpass = scanner.next();

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

String newpass2 = scanner.next();

if(!newpass.equals(newpass2)){

System.out.println("两次输入新密码不一致!");

}else{

password = newpass;

System.out.println("修改密码成功!当前密码为:"+password);

}

}

isContinue();

}

/***

*

* 退出

*/

private static void layout() {

System.out.println("退出成功!");

System.exit(0);

}

/****

*

* 判断是否继续

*/

private static void isContinue(){

System.out.println("是否继续?(y/n)");

isContinue = scanner.next();

if(isContinue.equals("n")){

System.out.println("程序结束!");

System.exit(0);

}else if(!isContinue.equals("y") && !isContinue.equals("n")){

System.out.println("非法输入");

isContinue();

}

}

}

				
时间: 2025-01-10 08:11:42

ATM程序设计(java)的相关文章

Java面向对象程序设计--Java反射机制

能够分析类的功能的程序称为反射程序,反射机制的功能相当强大,几个基本的应用是: 在运行时分析各种类的功能; 在运行时对对象进行分析... 实现繁星数组操作的代码 使用Method方法就像使用C++中的函数指针一样;  1. Class 类: 当程序运行时,Java运行时系统维持一份包含每个对象运行时类型标记的信息.这个信息标记了每个对象所属的类型.运行时类型 信息为虚拟机找到正确的函数提供了依据.但这个信息可以通过类的getClass方法得到! 1 public class TestReflec

201771010134杨其菊《面向对象程序设计java》第十周学习总结

第8章泛型程序设计学习总结 第一部分:理论知识 主要内容:   什么是泛型程序设计                   泛型类的声明及实例化的方法               泛型方法的定义                     泛型接口的定义                    泛型类型的继承规则                    通配符类型及使用方法 1:泛型类的定义 (1) 一个泛型类(generic class)就是具有一个或多个类型变量的类,即创建用类型作为参数的类.如一个泛型

汪慧和201771010123《面向对象程序设计JAVA》第四周实验总结

第一部分:理论知识学习部分 1.类 类(class)是具有相同属性和行为的一组对象的集合,是构造程序的基本单元,是构造对象的模板或蓝图. 2.对象 对象:即数据,对象有三个特性--1.行为 2.状态 3.标识. 3.类与对象的关系 (1)类是对象,事物的描述和抽象,是具有相同属性和行为的对象集合.对象则是该类事物的实例. (2)类是一个静态的概念,类本身不携带任何数据.当没有为类创建任何对象时,类本身不存在于内存空间中.对象是一个动态的概念.每一个对象都存在着有别于其它对象的属于自己的独特的属性

马凯军201771010116《面向对象与程序设计Java》第九周学习总结

一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3.程序中出现的常见的错误和问题有:用户输入错误.设备错误.物理限制.代码错误. 4.Java把程序运行时可能遇到的错误分为两类: (1)非致命异常:通过某种修正后程序还能继续执行.这类错误叫作异常.如:文件不存在.无效的数组下标.空引用.网络断开.打印机脱机.磁盘满等. Java中提供了一种独特的处

201771010134杨其菊《面向对象程序设计java》第十二周学习总结

第十二周学习总结 第一部分:理论知识 内容概要: AWT与Swing简介:框架的创建:图形程序设计: 显示图像: 1.AWT组件: 2.Swing 组件层次关系 3 .AWT与Swing的关系:大部分AWT组件都有其Swing的等价组件; Swing组件的名字一般是在AWT组件名前面添加一个字母"J",如:JButton,JFrame,JPanel等. 4.组件:通常把由Component类的子类或间接子类创建的对象称为一个组件. 例:Button button = new Butto

马凯军201771010116《面向对象与程序设计Java》第十二周学习总结

一.理论与知识学习部分 Java的抽象窗口工具箱(Abstract Window Toolkit, AWT)包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类. 大部分AWT组件都有其Swing的等价组件,Swing组件的名字一般是在AWT组件名前面添加一个字母"J". 通常把由Component类的子类或间接子类创建的对象称为一个组件. 组件类的常用API: boolean isVisible() 检查组件是否可见 void setVisible(boolean

201771010118 马昕璐《面向对象程序设计java》第十二周学习总结

第一部分:理论知识学习部分 用户界面:用户与计算机系统(各种程序)交互的接口 图形用户界面:以图形方式呈现的用户界面 AET:Java 的抽象窗口工具箱包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类. Swing:用户界面库是非基于对等体的GUI工具箱,具有更丰富并且更方便的用户界面元素集合. Swing组件层次关系: 大部分AWT组件都有其Swing的等价组件. 组件:构成图形用户界面的元素,拿来即用.通常把由Component类的子类或间接子类创建的对象称为一个组件.

201771010123汪慧和《面向对象程序设计Java》第十八周实验总结

一.实验部分 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: (5) 综合编程练习. 2.实验内容和步骤 任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx. 任务2:综合编程练习 练习1:设计一个用户信息采集程序,要求如下: (1) 用户信息输入界面如下图所示: (1)用户点击提交按钮时,

201771010129 王颖奇《面向对象程序设计Java》第十八周实验总结

实验十八  总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: (5) 综合编程练习. 2.实验内容和步骤 任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx. 任务2:综合编程练习 练习1:设计一个用户信息采集程序,要求如下: (1) 用户信息输入界面如