需求:啤酒2元1瓶,4个盖子可以换一瓶,2个空瓶可以换一瓶,请问10元钱可以喝多少瓶酒,剩余多少空瓶和盖子。
public class FeiDiGui2 {
public static int totalNumber; //总瓶数
public static int lastBottle; //统计剩余的酒瓶
public static int lastCover; //统计剩余的瓶盖
public static void main(String[] args) {
buy(10);
System.out.println("总瓶数:"+totalNumber);
System.out.println("剩余瓶子:"+lastBottle);
System.out.println("剩余瓶盖:"+lastCover);
}
public static void buy(int money){
//先算出money能买几瓶酒,以及盖子和瓶子个数
int buyNumber=money/2;
totalNumber+=buyNumber;
int bottle=buyNumber+lastBottle;
int cover=buyNumber+lastCover;
//统计可以换算成的钱
int allMoney=0;
if(cover >= 4)
{
allMoney +=(cover/4)*2;
}
lastCover=bottle%4;
if(bottle >= 2)
{
allMoney +=(bottle/2)*2;
}
lastBottle=bottle%2;
if(allMoney >= 2) {
buy(allMoney);
}
}
}
当buy里面的数大于6之后,程序就会报如下错误
不太理解为什么,麻烦各位帮忙看看,谢谢