有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

类示例的java编程建议

我是一名基础编程专业的学生,我需要关于如何制作特定程序的帮助。 场景是:人们进出一个活动,我需要跟踪他们。允许的人数限制为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: "));


             }
         }

    }

共 (2) 个答案

  1. # 1 楼答案

    如果你想在达到限制后拒绝他人访问,你需要将while循环更改为:

    while(count < maxCapacity)
    

    如果你跟我一起去!=maxCapacity的值为107将通过并允许人们进入

    在将groupAmt添加到maxCapacity之前,您还需要验证它

    if((count + groupAmt) < maxCapacity)
    {
        count += groupAmt;
    }
    
  2. # 2 楼答案

    我建议你把这些都封装成一个对象。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;
                }         
            }
        }
    }
    

    我会不断添加一些方法,让我使用起来更方便

    我可能还会创建一个自定义CapacityExceedeException