Java实验:类与对象(二)

2.编写一个银行新用户开户及现金业务办理程序。

要求:

  1. 要模拟出银行对用户到来的欢迎动作、对用户离开的提醒动作。
  2. 模拟用户的开户(写入银行类构造方法中,开户时扣除10元卡费);
  3. 开户后可办理存款和取款业务,要提示用户的账户余额。

取款时需要用户输入正确的密码,取款金额要小于当前账户金额,若不能办理时,要提示用户。

实现思路

创建银行类,使用构造方法定义开户扣除10元,创建存款和取款两个方法,使用if条件语句将密码设置在两个方法中,单独创建Menu方法存放目录,主类先进行开户设置密码操作,之后进行存取款。

程序代码(部分展示)

package cn.edu;
import java.util.Scanner;
class Bank{
private String user;
private String password;
double deposit;
public String setUser;
public String setPassword;
public double setDeposit;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public double getDeposit() {
return deposit;
}
public void setDeposit(double deposit) {
this.deposit =deposit-10;
}
public Bank(String user, String password, double deposit) {
super();
this.user = user;
this.password = password;
this.deposit = deposit-10;
}
public static void exit(){
System.out.println("请携带好随身物品,欢迎下次光临!");
}
public static void Menu(){
System.out.println("-----------------");
System.out.println("1.存款");
System.out.println("2.取款");
System.out.println("3.退出");
}
@SuppressWarnings("unlikely-arg-type")
public void SaveMoney(Bank b1) {
System.out.println("请输入您的密码:");
Scanner sc=new Scanner(System.in);
String n=sc.next();
if (n.equals("123")) {
System.out.println("请输入存款金额:");
double i1=sc.nextDouble();
deposit=i1+deposit;
System.out.println("您好,您的帐户已经存入"+i1+"元,您的账户余额为"+deposit+"元。"); 
Bank.Menu();
int choice = sc.nextInt();
if(choice==1) {
b1.SaveMoney(b1);
}
if(choice==2) {
b1.spendMoney(b1);
}
if(choice==3) {
b1.exit();
}
}
else
{
System.out.println("密码错误!");
Bank.Menu();
int choice = sc.nextInt();
if(choice==1) {
b1.SaveMoney(b1);
}
if(choice==2) {
b1.spendMoney(b1);
}
if(choice==3) {
b1.exit();
}
}
} 

public class Main {
public static void main(String[] args) {
System.out.println("欢迎访问银行综合业务程序!");
System.out.println("----------------------------");
System.out.println("请选择您办理的业务");
System.out.println("1.开户");
System.out.println("2.退出");
Bank b1=new Bank(null, null, 0);
Scanner sc=new Scanner(System.in);
if(sc.nextInt()==1) {
System.out.println("请输入用户名:");
Scanner sc1=new Scanner(System.in);
b1.setUser=sc1.next();
System.out.println("请输入密码:");
b1.setPassword=sc1.next();
System.out.println("恭喜您开户成功!您的账户余额为"+b1.getDeposit()+"元。");
}
else {
b1.exit();
}
Bank.Menu();
int choice = sc.nextInt();
if(choice==1) {
b1.SaveMoney(b1);
}
if(choice==2) {
b1.spendMoney(b1);
}
if(choice==3) {
b1.exit();
}
}
}

结果截图

实验心得

  1. static不能轻易设置,会使该方法中参数无法更新数值
  2. Equal方法注意格式使用.equals()
  3. 注意条件语句中的括号是否有遗漏多加
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值