Java小程序:瓶盖换饮料的问题

有一组人要购买同等人数的饮料,但是如果用三个瓶盖就可以兑换一瓶饮料,那么这一组人没人都喝到一瓶饮料需要购买多少瓶饮料?(可借瓶盖)

很早之前就有遇到了这样的题目,但是以前不是为了做编程什么的,只是在上专业课的时候老师用这个例子来说明工业工程的思想,额呵呵,就是这样。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.Scanner;
public class AddSum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(“一共有多少人需要喝飲料?”);
pinggai(sc.nextInt());
}
public static int pinggai(int xMan) {
int num = 0;
int count = 0;
int i = 1;
while (true) {
num++;
count++;
System.out.println(“第” + num + “个人喝到了饮料! 还剩” + count + “个盖子!”);
if (num >= xMan) {
System.out.println(“一共买了” + i + “瓶饮料!”);
return i;
}
if (xMan – num == 1 && count == 2) { // 借瓶盖
num++;
count = 1;
System.out.println(“借了一個盖子,换了一瓶饮料,第” + num + “个人喝到了饮料! 把剩下的” + count + “个盖子还了回去!”);
count = 0;
System.out.println(“一共买了” + i + “瓶饮料!”);
return i;
}
if (count == 3) {
num++;
count = 1;
System.out.println(“三個瓶盖换了一瓶饮料.第” + num + “个人喝到了饮料! 还剩” + count + “个盖子!”);
}
if (num >= xMan) {
System.out.println(“一共买了” + i + “瓶饮料!”);
return i;
}
i++;
}
}
}

如果你发现本程序的BUG,请给我反馈。