我是一名基础编程学生,我需要有关如何制作特定课程的帮助。 场景是:人们进出一个事件,我需要跟踪它们。允许的人数限制为100.人们可以单独或集体来。随着人们进出,总数应该改变。达到限制后,应拒绝人员访问。
一切都将进入JOptionPane。
不确定我是否在寻找最佳网站寻求帮助,但是,任何建议都会有所帮助。
我知道我会为此做一个循环。
import javax.swing.JOptionPane;
public class HwTwoPt2 {
public static void main(String[] args) {
int enter, exit, total;
int maxCapacity = 106;
int count = 0;
int groupAmt = 0;
while(count != maxCapacity){
groupAmt = Integer.parseInt(JOptionPane.showInputDialog("Enter total amount in the group: "));
}
}
}
答案 0 :(得分:0)
如果你想要在限制被击中后拒绝人们访问,你会想要将你的while循环更改为:
while(count < maxCapacity)
如果你使用!= maxCapacity,则值107将通过并允许人们进入。
您还需要在将groupAmt添加到maxCapacity之前验证它。
if((count + groupAmt) < maxCapacity)
{
count += groupAmt;
}
答案 1 :(得分:0)
我建议你将所有这些封装到一个对象中。 Java是一种面向对象的语言。最好习惯于早期考虑封装和信息隐藏。
这样的事情:
public class CapacityTracker {
private static final int DEFAULT_MAX_CAPACITY = 100;
private int currentCapacity;
private int maxCapacity;
public CapacityTracker() {
this(DEFAULT_MAX_CAPACITY);
}
public CapacityTracker(int maxCapacity) {
this.maxCapacity = ((maxCapacity <= 0) ? DEFAULT_MAX_CAPACITY : maxCapacity);
this.currentCapacity = 0;
}
public int getCurrentCapacity() { return this.currentCapacity; }
public void addAttendees(int x) {
if (x > 0) {
if ((this.currentCapacity+x) > this.maxCapacity) {
throw new IllegalArgumentException("max capacity exceeded");
} else {
this.currentCapacity += x;
}
}
}
}
我会继续添加方法,以便我使用它。
我也可以创建自定义的CapacityExceededException。