黑马程序员技术交流社区
标题:
99瓶啤酒
[打印本页]
作者:
zhxu188
时间:
2014-3-19 09:29
标题:
99瓶啤酒
歌曲“99瓶啤酒”的第一节是这样的:
99瓶啤酒在墙上,99瓶啤酒,拿下一瓶,传给他人,98瓶啤酒在墙上。
随后的歌词和前面相似,但啤酒瓶的数量越来越少,直到拿完最后一瓶时,歌曲如下:
没有啤酒在墙上,没有啤酒,不能再拿了,不能再传了,因为墙上没有啤酒了。
此时歌曲结束。
写一个程序,打印出“99瓶啤酒”这首歌的全部歌词。程序应该包含一个递归方法,除此之外还应该有另外方法来拆分程序的主要功能。
大神求教,这个程序该如何写呢
作者:
老貓钓鱼
时间:
2014-3-19 10:02
本帖最后由 老貓钓鱼 于 2014-3-19 10:15 编辑
public class TestDemo {
public static void main(String[] args) {
for (int i = 99; i >= 0; i--) {
if (i == 0) {
System.out.println("没有啤酒在墙上,没有啤酒,不能再拿了,不能再传了,因为墙上没有啤酒了。");
break;
}
System.out.println(i + "瓶啤酒在墙上," + i + "瓶啤酒,拿下一瓶,传给他人," + (i - 1)
+ "瓶啤酒在墙上。");
}
}
}
复制代码
一个for循环搞定
作者:
梵天的梦
时间:
2014-3-19 14:14
public static int method(int i){
int temp = i;
if(i==1){
System.out.println(temp+"瓶啤酒在墙上,"+temp+"瓶啤酒,拿下一瓶,传给他人,"+(temp-1)+"瓶啤酒在墙上");
return temp;
}
else{
System.out.println(temp+"瓶啤酒在墙上,"+temp+"瓶啤酒,拿下一瓶,传给他人,"+(temp-1)+"瓶啤酒在墙上");
}
return method(temp-1);
}
复制代码
作者:
我爱的是你爱我_
时间:
2014-3-19 15:11
int j = 99;//一共有的酒
while (j != 0) {
System.out.println(j + "瓶啤酒在墙上," + j + "瓶啤酒,拿下一瓶,传给他人," + (j - 1) + "瓶啤酒在墙上。");
j--;
}
System.out.println("没有啤酒在墙上,没有啤酒,不能再拿了,不能再传了,因为墙上没有啤酒了。");
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2