黑马程序员技术交流社区

标题: 99瓶啤酒 [打印本页]

作者: zhxu188    时间: 2014-3-19 09:29
标题: 99瓶啤酒
歌曲“99瓶啤酒”的第一节是这样的:
99瓶啤酒在墙上,99瓶啤酒,拿下一瓶,传给他人,98瓶啤酒在墙上。
随后的歌词和前面相似,但啤酒瓶的数量越来越少,直到拿完最后一瓶时,歌曲如下:
没有啤酒在墙上,没有啤酒,不能再拿了,不能再传了,因为墙上没有啤酒了。
此时歌曲结束。


写一个程序,打印出“99瓶啤酒”这首歌的全部歌词。程序应该包含一个递归方法,除此之外还应该有另外方法来拆分程序的主要功能。



大神求教,这个程序该如何写呢

作者: 老貓钓鱼    时间: 2014-3-19 10:02
本帖最后由 老貓钓鱼 于 2014-3-19 10:15 编辑
  1. public class TestDemo {
  2.         public static void main(String[] args) {
  3.                 for (int i = 99; i >= 0; i--) {
  4.                         if (i == 0) {
  5.                                 System.out.println("没有啤酒在墙上,没有啤酒,不能再拿了,不能再传了,因为墙上没有啤酒了。");
  6.                                 break;
  7.                         }
  8.                         System.out.println(i + "瓶啤酒在墙上," + i + "瓶啤酒,拿下一瓶,传给他人," + (i - 1)
  9.                                         + "瓶啤酒在墙上。");
  10.                 }
  11.         }
  12. }
复制代码



一个for循环搞定
作者: 梵天的梦    时间: 2014-3-19 14:14
  1. public static int method(int i){
  2.                 int temp = i;
  3.                 if(i==1){
  4.                         System.out.println(temp+"瓶啤酒在墙上,"+temp+"瓶啤酒,拿下一瓶,传给他人,"+(temp-1)+"瓶啤酒在墙上");
  5.                         return temp;
  6.                 }
  7.                 else{
  8.                         System.out.println(temp+"瓶啤酒在墙上,"+temp+"瓶啤酒,拿下一瓶,传给他人,"+(temp-1)+"瓶啤酒在墙上");
  9.                 }
  10.                 return method(temp-1);
  11.                
  12.         }
复制代码

作者: 我爱的是你爱我_    时间: 2014-3-19 15:11
  1.   int j = 99;//一共有的酒
  2.   while (j != 0) {
  3.    System.out.println(j + "瓶啤酒在墙上," + j + "瓶啤酒,拿下一瓶,传给他人," + (j - 1) + "瓶啤酒在墙上。");
  4.    j--;
  5.   }
  6.   System.out.println("没有啤酒在墙上,没有啤酒,不能再拿了,不能再传了,因为墙上没有啤酒了。");
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2