为了账号安全,请及时绑定邮箱和手机立即绑定

何如用switch while if 结合完成? 目的:账号已账号内部的金额分级

作业:目的:账号已账号内部的金额分级
        //输入你的账号
        //账号内默认0元
        //请向账号内充值
        //1000元普通账号  2000元VIP账号  3000元永久账号
        //显示当前账号等级(普通/VIP/永久)
        //是否消费
        //消费自定义消费
        //通过让余额判断当前等级
        //是否充值
        //通过余额判断当前账号等级
        //不充值时, 循环终止

思路问题:用循环判断余额后,怎样绑定当前账号等级?用switch的话如何写在if或者case语句中,求大神帮我理下思路,如何嵌套比较好?

求打

正在回答

2 回答

先看一下输出结果:(后面是java代码)

代码采用的是楼上的想法,过程有我自己改动的地方。

输入你的账号:

色色的、

您好色色的、

0~999是普通;1000~1999是VIP;2000~3000是永久

是否要充值? y/n:

y

请问您要充值多少钱?

5000

当前账号:色色的、 账户余额:5000 目前等级是:永久账号

是否消费?y/n:

y

消费金额:

2999

当前账号:色色的、 账户余额:2001 目前等级是:永久账号

是否要充值? y/n:

h

输入错误!

是否要充值? y/n:

n

感谢你的使用,再见


import java.util.Scanner;

public class Helloworld {

	private int money=0;
	private String userId=null;

	public static void main(String[] args) {
		Helloworld h = new Helloworld();
		Scanner input = new Scanner(System.in);
		System.out.println("输入你的账号:");
		h.userId = input.next();
		System.out.println("您好"+h.userId);
		System.out.println("0~999是普通;1000~1999是VIP;2000~3000是永久");
		String charge = "y";
		String consume = "y";
		while (true) {
			System.out.println("是否要充值? y/n:");
			charge = input.next();
			if("y".equals(charge)){
				System.out.println("请问您要充值多少钱?");
				h.money = input.nextInt();
				h.print();
				System.out.println("是否消费?y/n:");
				consume = input.next();
				if("y".equals(consume)){
					System.out.println("消费金额:");
					h.money = h.money - input.nextInt();
					h.print();
				}
			}else if("n".equals(charge)){
				System.out.println("感谢你的使用,再见");
				break;
			}else{
				System.out.println("输入错误!");
			}
			
		}
		
		
	}

	public void print(){
		String simple = "普通账号";
		String VIP = "VIP账号";
		String permanent = "永久账号";
		System.out.print("当前账号:"+userId+" 账户余额:"+money+" 目前等级是:");
		
		switch (money/1000) {
		case 0:
			System.out.print(simple);
			break;
		case 1:
			System.out.print(VIP);
			break;
		default:
			System.out.print(permanent);
			break;
		}
		System.out.println();
	}
}


0 回复 有任何疑惑可以回复我~
#1

慕粉2258416217 提问者

谢谢 很简洁
2017-03-29 回复 有任何疑惑可以回复我~

1000元普通账号  2000元VIP账号  3000元永久账号

它的账号等级在边界是怎么分派的:如果0~999是普通;1000~1999是VIP;2000~3000是永久

那么你可以这样绑定当前账号等级

让当前账号的数值/1000 

如果结果为0—.>普通

     结果为1——>VIP

结果为2或3——>永久

if (充值){

 显示余额//system.out.printsln实现

  余额=余额+充值的钱;

      进入switch语句当前等级

      输出当前等级

}

else{循环终止}

 


0 回复 有任何疑惑可以回复我~
#1

慕粉2258416217 提问者

谢谢,刚写好了,发现一个bug,充值3000时,显示永久账号,用了钱后剩余2000多,账号等级掉了怎么解决
2017-03-28 回复 有任何疑惑可以回复我~
#2

慕粉2258416217 提问者

谢谢,刚写好了,发现一个bug,充值3000时,显示永久账号,用了钱后剩余2000多,账号等级掉了怎么解决
2017-03-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

何如用switch while if 结合完成? 目的:账号已账号内部的金额分级

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信