需求:模拟银行账户业务,创建包ban.com,编写Account类,添加带参方法存款和取款,存款初始为0,取款时需要判断余额是否充足。示例:1.存款 2.取款 0.退出
请选择你需要办理的业务:1
请输入存款金额:1000
存款成功***当前余额为:1000.0元***1.存款 2.取款 0.退出
请选择你需要办理的业务:1
请输入存款金额:1000
存款成功***当前余额为:2000.0元***【就是在红色字体这个地方卡住了。。循环功能很难实现这个,最要命的是要求用带参方法,要是用set,get方法可能更好做一些。。】1.存款 2.取款 0.退出
请选择你需要办理的业务:
请输入取款金额:500
取款成功***当前余额为:1500.0元***1.存款 2.取款 0.退出
请选择你需要办理的业务:0
谢谢使用!
我写的代码,乱糟糟的了。。,。package cn.puruidong.accp_13;/**
* @author PuRuidong
*
*/
/*
* 包含错误!
*/
import java.util.Scanner;
public class Account {
private int num ; //录入菜单数字
private double money ; //存款金额
private double offmoney ; //取款
private double sum ;
public int show (int num , double money ,double offmoney,double sum){
num = 0 ; //菜单选择
offmoney = 0.0 ; //取款
money = 0.0 ; //存款的初始值
sum = 0.0 ;
Scanner input = new Scanner (System.in);
boolean zhi = true ; //定义Boolean变量,确定循环
System.out.println("1:存款\t2.取款\t0.退出");
System.out.println("请选择你需要办理的业务:");
do {
num = input.nextInt();//录入菜单数字
switch (num){
case 1 :
System.out.println("请输入存款金额:");
money = input.nextDouble();//录入存款
if (money >0){ //存款必须大于0
System.out.println("存款成功");
zhi = true ;//值为真,继续运行
sum = money+sum ; //存款累加
//money = 0.0 ;
} else {
System.out.println("存款输入错误,请重新输入!");
zhi = true ;
break;
}
System.out.println();
break;
case 2 :{
System.out.println("请输入你的取款金额:");
offmoney = input.nextDouble ();
if (offmoney>money){
System.out.println("取款成功");
System.out.println("***当前余额是:"+(money-offmoney)+"***");
zhi = true ;
}else {
System.out.println("抱歉,余额不足!");
zhi = false ;
}
}
break;
case 0 :
System.out.println("谢谢使用!");
zhi = false ;//值为假退出循环
break;
}
System.out.println("***当前余额为:"+sum+"元***");
System.out.println("1:存款\t2.取款\t0.退出");
System.out.println("请选择你需要办理的业务:");
num = input.nextInt();//录入菜单数字
continue ;
} while (zhi==false);
return num ;
}
public static void main(String[] args) {
Account center = new Account ();
int num = 0;
double money = 0.0;
double offmoney = 0.0;
double sum = 0.0 ;
center.show(num, money, offmoney, sum);
}
}另一段代码(功能相同,思路改变了,但不能循环输出菜单了。。)package cn.puruidong.accp_13;
import java.util.Scanner;
public class TestAccount {
private int caidan ;
private double money ;
private double offmoney ;
private double sum ;
private boolean zhi ;
public TestAccount (){
super();
}
public int show (){
Scanner input = new Scanner (System.in);
System.out.println("1.存款\t2.取款\t3.退出");
System.out.println("请选择你需要的办理的业务:");
caidan = input.nextInt();
return caidan;
}
public double cunkuan (double sum){
Scanner input = new Scanner (System.in);
do {
caidan = input.nextInt();
if (caidan==1){
System.out.println("请输入存款金额:");
money = input.nextDouble();
System.out.println("存款成功");
sum = money + sum ;
}
System.out.println("***当前余额是"+sum+"******");
System.out.println("1.存款\t2.取款\t3.退出");
System.out.println("请选择你需要的办理的业务:");
} while (caidan==0);
return sum ;
}
public double qukuan (double offmoney){
Scanner input = new Scanner (System.in);
for (int i =1;i<100;i++){
if (caidan==2){
System.out.println("请输入取款金额");
offmoney = input.nextDouble();
if (sum>offmoney&&zhi==true){
System.out.println("取款成功!");
}else {
System.out.println("余额不足!");
}
}
}
if (zhi==true){
System.out.println("***当前余额是:"+(sum-offmoney)+"*****");
}
return offmoney ;
}
public void tuichu (){
if (caidan==3){
System.out.println("谢谢使用!");
}
zhi = false ;
}
public static void main(String[] args) {
TestAccount center = new TestAccount ();
double sum =0.0 ;
double offmoney = 0.0 ;
boolean zhi = true ;
do{
center.show();
center.cunkuan(sum);
center.qukuan(offmoney);
center.tuichu();
}while (zhi==false);
}}
我觉得第二段代码比较好理解一些,希望高手给指点一下,谢谢!(如果写代码,请加点注释,谢谢)
请选择你需要办理的业务:1
请输入存款金额:1000
存款成功***当前余额为:1000.0元***1.存款 2.取款 0.退出
请选择你需要办理的业务:1
请输入存款金额:1000
存款成功***当前余额为:2000.0元***【就是在红色字体这个地方卡住了。。循环功能很难实现这个,最要命的是要求用带参方法,要是用set,get方法可能更好做一些。。】1.存款 2.取款 0.退出
请选择你需要办理的业务:
请输入取款金额:500
取款成功***当前余额为:1500.0元***1.存款 2.取款 0.退出
请选择你需要办理的业务:0
谢谢使用!
我写的代码,乱糟糟的了。。,。package cn.puruidong.accp_13;/**
* @author PuRuidong
*
*/
/*
* 包含错误!
*/
import java.util.Scanner;
public class Account {
private int num ; //录入菜单数字
private double money ; //存款金额
private double offmoney ; //取款
private double sum ;
public int show (int num , double money ,double offmoney,double sum){
num = 0 ; //菜单选择
offmoney = 0.0 ; //取款
money = 0.0 ; //存款的初始值
sum = 0.0 ;
Scanner input = new Scanner (System.in);
boolean zhi = true ; //定义Boolean变量,确定循环
System.out.println("1:存款\t2.取款\t0.退出");
System.out.println("请选择你需要办理的业务:");
do {
num = input.nextInt();//录入菜单数字
switch (num){
case 1 :
System.out.println("请输入存款金额:");
money = input.nextDouble();//录入存款
if (money >0){ //存款必须大于0
System.out.println("存款成功");
zhi = true ;//值为真,继续运行
sum = money+sum ; //存款累加
//money = 0.0 ;
} else {
System.out.println("存款输入错误,请重新输入!");
zhi = true ;
break;
}
System.out.println();
break;
case 2 :{
System.out.println("请输入你的取款金额:");
offmoney = input.nextDouble ();
if (offmoney>money){
System.out.println("取款成功");
System.out.println("***当前余额是:"+(money-offmoney)+"***");
zhi = true ;
}else {
System.out.println("抱歉,余额不足!");
zhi = false ;
}
}
break;
case 0 :
System.out.println("谢谢使用!");
zhi = false ;//值为假退出循环
break;
}
System.out.println("***当前余额为:"+sum+"元***");
System.out.println("1:存款\t2.取款\t0.退出");
System.out.println("请选择你需要办理的业务:");
num = input.nextInt();//录入菜单数字
continue ;
} while (zhi==false);
return num ;
}
public static void main(String[] args) {
Account center = new Account ();
int num = 0;
double money = 0.0;
double offmoney = 0.0;
double sum = 0.0 ;
center.show(num, money, offmoney, sum);
}
}另一段代码(功能相同,思路改变了,但不能循环输出菜单了。。)package cn.puruidong.accp_13;
import java.util.Scanner;
public class TestAccount {
private int caidan ;
private double money ;
private double offmoney ;
private double sum ;
private boolean zhi ;
public TestAccount (){
super();
}
public int show (){
Scanner input = new Scanner (System.in);
System.out.println("1.存款\t2.取款\t3.退出");
System.out.println("请选择你需要的办理的业务:");
caidan = input.nextInt();
return caidan;
}
public double cunkuan (double sum){
Scanner input = new Scanner (System.in);
do {
caidan = input.nextInt();
if (caidan==1){
System.out.println("请输入存款金额:");
money = input.nextDouble();
System.out.println("存款成功");
sum = money + sum ;
}
System.out.println("***当前余额是"+sum+"******");
System.out.println("1.存款\t2.取款\t3.退出");
System.out.println("请选择你需要的办理的业务:");
} while (caidan==0);
return sum ;
}
public double qukuan (double offmoney){
Scanner input = new Scanner (System.in);
for (int i =1;i<100;i++){
if (caidan==2){
System.out.println("请输入取款金额");
offmoney = input.nextDouble();
if (sum>offmoney&&zhi==true){
System.out.println("取款成功!");
}else {
System.out.println("余额不足!");
}
}
}
if (zhi==true){
System.out.println("***当前余额是:"+(sum-offmoney)+"*****");
}
return offmoney ;
}
public void tuichu (){
if (caidan==3){
System.out.println("谢谢使用!");
}
zhi = false ;
}
public static void main(String[] args) {
TestAccount center = new TestAccount ();
double sum =0.0 ;
double offmoney = 0.0 ;
boolean zhi = true ;
do{
center.show();
center.cunkuan(sum);
center.qukuan(offmoney);
center.tuichu();
}while (zhi==false);
}}
我觉得第二段代码比较好理解一些,希望高手给指点一下,谢谢!(如果写代码,请加点注释,谢谢)
解决方案 »
- new ArrayList(10)(原始类型什么意思),分配容量为10,那么这个10是什么意思?
- 这句sql怎么能转成hql语句呢
- 遇见一种诡异的Java写法
- 请问ArrayList可以存储简单数据类型吗?
- 一个非常简单的问题,情大家帮助!
- 一个专业的ui界面设计网站
- 初学者问一个简单的问题。Java VM 跟 J2SE 1.4.2 SDK 有什么不一样。
- 如何将一个String转化为一个Date???
- SWING中有没有象AWT中MediaTracker的类可用?GG快帮忙,小M急用!!!
- 求大神使用ImageIO输出/入位图 table=ImageIO.read(new File("image/board.jap");括号里是绝对还相对路径
- 怎么得到一个字符串的引用
- 一句代码,程序运行效率增加了400倍,各位大神给看看
模拟银行账户业务,创建包ban.com,编写Account类,添加带参方法存款和取款,存款初始为0,取款时需要判断余额是否充足存款和去取款时方法,你的代码里面我没有看到这两个方法啊?
package org.lw.test;import java.util.Scanner;public class Account { private static double sum = 0.0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int operation = 0;
double money = 0.0;
while(true){
System.out.println("1:存款\t2.取款\t0.退出");
System.out.print("请选择你需要办理的业务:");
operation = sc.nextInt();
switch(operation){
case 0:
System.exit(0);
break;
case 1:
System.out.print("请输入存款金额:");
money = sc.nextDouble();
cunKuan(money);
break;
case 2:
System.out.print("请输入取款金额:");
money = sc.nextDouble();
quKuan(money);
break;
}
}
} private static void cunKuan(double money) {
sum += money;
System.out.println("存款成功!");
System.out.println("***余额为:" + sum + " ***");
System.out.println();
} private static void quKuan(double money) {
if(money>sum){
System.out.println("抱歉,余额不足!"); }else{
sum -=money;
System.out.println("取款成功!");
System.out.println("***余额为:" + sum + " ***");
}
System.out.println();
}
}
看看这个吧,就是没有做容错处理,
巧合啊。、。