限制在Java中调用方法的次数
如何限制addAddition()的调用次数?例如,如果我想将其限制为4次,那么在主类中调用它4次之后,就会出现一条错误消息限制在Java中调用方法的次数,java,Java,如何限制addAddition()的调用次数?例如,如果我想将其限制为4次,那么在主类中调用它4次之后,就会出现一条错误消息 public class BaseBurger { public void addAddition(int additionNumber) { switch (additionNumber) { case 1: System.out.println("Bacon added!"); this.pric
public class BaseBurger {
public void addAddition(int additionNumber) {
switch (additionNumber) {
case 1:
System.out.println("Bacon added!");
this.price += 3;
i++;
break;
case 2:
System.out.println("Salad added!");
this.price += 2.5;
i++;
break;
case 3:
System.out.println("Juice added!");
this.price += 3;
i++;
break;
case 4:
System.out.println("Sauce added!");
this.price += 3.5;
i++;
break;
default:
System.out.println("Invalid value!");
}
}
}
添加一个字段以计算调用方法的次数。一旦达到最大限制,抛出错误。因此,您的代码可以是
public class BaseBurger {
private int counter = 0;
public void addAddition(int additionNumber) {
if (counter == 4) throw new CUSTOM_ERROR();
counter++; // increase counter each time.
switch (additionNumber) {
case 1:
System.out.println("Bacon added!");
this.price += 3;
i++;
break;
case 2:
System.out.println("Salad added!");
this.price += 2.5;
i++;
break;
case 3:
System.out.println("Juice added!");
this.price += 3;
i++;
break;
case 4:
System.out.println("Sauce added!");
this.price += 3.5;
i++;
break;
default:
System.out.println("Invalid value!");
}
}
}
if(i==4)抛出新错误(“调用四次”)代码>。注意:如果您再次启动main方法,i
值将被重置,请勿为此使用Error
;IllegalStateException
将是合适的。您应该在这些问题产生的方法之外管理此策略。是否要防止添加两次成分?我想避免在同一个汉堡中添加4种成分。我怀疑计数器应该是静态的
,由于该限制可能会阻止在一个汉堡中添加超过4种成分。问题是实例数不能超过4个,因此静态值将保持调用该方法的次数与实例数无关。对于成分的描述,问题不是那么清楚。不,问题不是限制实例的数量,而是限制方法调用的数量。问题明确地说。它是关于限制每个实例的调用数量,尽管它没有明确说明查看类的名称,以及print
语句所说的内容。贝斯伯格。加入“培根”、“沙拉”、“果汁”、“酱汁”。对于一个计划来说,将一个汉堡的添加量限制在4种(配料)是有意义的。将所有汉堡的配料总量限制在4是没有意义的。这一点在a中也得到了明确的澄清。现在呢?这样每个实例都有自己的字段来计算调用它的次数。