报数游戏
2016-04-08 00:00
411 查看
摘要: 报数游戏
import java.io.InputStreamReader; import java.util.Scanner; public class Game { public static Integer NUM_A = 0; public static Integer NUM_B = 0; public static Integer NUM_C = 0; public static void main(String[] args) { if (!in()) { init(); } else { System.out.println("输入的数字格式或大小不正确"); } } public static boolean in() { System.out.print("请输入特殊数字,中间用逗号分隔:"); Scanner sc = new Scanner(new InputStreamReader(System.in)); String nums[] = sc.nextLine().split(","); sc.close(); boolean f = false; if (nums.length != 3) { return f; } for (String t : nums) { if (Integer.parseInt(t) > 9) { f = true; break; } } if (!f) { NUM_A = Integer.parseInt(nums[0]); NUM_B = Integer.parseInt(nums[1]); NUM_C = Integer.parseInt(nums[2]); } return f; } public static void init() { String[] result = new String[100]; for (int i = 1; i < 101; i++) { if ((i + "").contains(NUM_A + "")) { result[i - 1] = "Fizz"; } else { boolean f = false; if (i % NUM_A == 0) { result[i - 1] = "Fizz"; f = true; } if (i % NUM_B == 0) { result[i - 1] = "Buzz"; f = true; } if (i % NUM_C == 0) { result[i - 1] = "Whizz"; f = true; } if (i % NUM_A == 0 && i % NUM_B == 0) { result[i - 1] = "FizzBuzz"; f = true; } if (i % NUM_A == 0 && i % NUM_C == 0) { result[i - 1] = "FizzWhizz"; f = true; } if (i % NUM_B == 0 && i % NUM_C == 0) { result[i - 1] = "BuzzWhizz"; f = true; } if (i % NUM_A == 0 && i % NUM_B == 0 && i % NUM_C == 0) { result[i - 1] = "FizzBuzzWhizz"; f = true; } if (!f) { result[i - 1] = i + ""; } } } for (String t : result) { System.out.println(t); } } } /** *你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有100名学生在上课。游戏的规则是: 1. 你首先说出三个不同的特殊数,要求必须是个位数,比如3、5、7。 2. 让所有学生拍成一队,然后按顺序报数。 3. 学生报数时,如果所报数字是第一个特殊数(3)的倍数,那么不能说该数字,而要说Fizz;如果所报数字是第二个特殊数(5)的倍数,那么要说Buzz;如果所报数字是第三个特殊数(7)的倍数,那么要说Whizz。 4. 学生报数时,如果所报数字同时是两个特殊数的倍数情况下,也要特殊处理,比如第一个特殊数和第二个特殊数的倍数,那么不能说该数字,而是要说FizzBuzz, 以此类推。如果同时是三个特殊数的倍数,那么要说FizzBuzzWhizz。 5. 学生报数时,如果所报数字包含了第一个特殊数,那么也不能说该数字,而是要说相应的单词,比如本例中第一个特殊数是3,那么要报13的同学应该说Fizz。如果数字中包含了第一个特殊数,那么忽略规则3和规则4,比如要报35的同学只报Fizz,不报BuzzWhizz。 现在,我们需要你完成一个程序来模拟这个游戏,它首先接受3个特殊数,然后输出100名学生应该报数的数或单词。 * * */ 输出: 请输入特殊数字,中间用逗号分隔:3,5,7 1 2 Fizz 4 Buzz Fizz Whizz 8 Fizz Buzz 11 Fizz Fizz Whizz FizzBuzz 16 17 Fizz 19 Buzz FizzWhizz 22 Fizz Fizz Buzz 26 Fizz Whizz 29 Fizz Fizz Fizz Fizz Fizz Fizz Fizz Fizz Fizz Fizz Buzz 41 FizzWhizz Fizz 44 FizzBuzz 46 47 Fizz Whizz Buzz Fizz 52 Fizz Fizz Buzz Whizz Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz BuzzWhizz 71 Fizz Fizz 74 FizzBuzz 76 Whizz Fizz 79 Buzz Fizz 82 Fizz FizzWhizz Buzz 86 Fizz 88 89 FizzBuzz Whizz 92 Fizz 94 Buzz Fizz 97 Whizz Fizz Buzz
相关文章推荐
- 安卓开发培训费用多少 选择哪里的安卓培训班好
- CSS多个选择器共用一个样式
- 让你的Fiddler支持HTTP隧道
- Linux下查看内存使用情况方法总结
- 给二维码添加背景
- TCP/IP协议栈系统参数 [COPY]
- 真机测试时的错误:No matching provisioning profiles found
- 打开Linux ftp服务,如:vsftpd: unrecognized service
- Leetcode #36. Valid Sudoku 数独游戏验证 解题报告
- iOS搜索框的实现
- C++混合编程之idlcpp教程Python篇(5)
- Example011表单中修改内容
- bigdatasupport
- U盘装系统win7
- 程序员:孤独的人是可耻的!
- 无法连接到visual studio开发服务器的解决方法不仅仅是关闭防火墙
- 快速排序
- Google Test(GTest)使用方法和源码解析——私有属性代码测试技术分析
- 实验室炼狱杂谈之一
- android自定义滑动选择开关