【发布时间】:2015-02-22 15:15:59
【问题描述】:
我有三个不同枚举区域的输入选择,用户可以输入不同的捐款。但是假设一个用户只想向其中一个或两个区域捐款,那么我希望其他区域的默认值自动设置为 0。
我试图弄清楚如何使用某种 switch-case-method 来解决这个问题,但我被卡住了。这是我目前的代码,有人知道如何修复它吗?
public enum Areas { Schools, Healthcare, Environment }
private String socialnr;
private Areas area;
private float percentage = (float) 0.0; //default value for an area if not chosen
//Method to handle the choices:
public synchronized void areaChoice(Areas which) {
switch (which) {
case Schools: {
setPercentage(sc.nextFloat());
break;
}
case Healthcare: {
setPercentage(sc.nextFloat());
break;
}
case Environment: {
setPercentage(sc.nextFloat());
break;
}
}
}
期望的控制台结果:
“输入“学校”捐赠给学校,输入“医疗保健”输入医疗保健,输入“环境”输入环境捐赠......”
输入:学校
金额:10
“要继续捐赠,请键入上述命令之一,或者‘退出’退出...”
输入:退出
[输出]:
学校:10.0,医疗保健:0.0,环境:0.0
【问题讨论】:
-
我们需要在这里查看更多代码。目前尚不清楚您的
setPercentage()方法在做什么,也不清楚您将用户迄今为止输入的信息存储在何处/如何存储。
标签: java input enums switch-statement case