本帖最后由 ehuashao 于 2014-5-8 13:28 编辑
这是我写的,放出来看看。 首先题目如下:
1. 你首先说出三个不同的特殊数,要求必须是个位数,比如3、5、7。
2. 让所有学生拍成一队,然后按顺序报数。
3. 学生报数时,如果所报数字是第一个特殊数(3)的倍数,
那么不能说该数字,而要说Fizz;如果所报数字是第二个特
殊数(5)的倍数,那么要说Buzz;如果所报数字是第三个特殊数(7)的倍数,
那么要说Whizz。
4. 学生报数时,如果所报数字同时是两个特殊数的倍数情况下,也要特殊处理,
比如第一个特殊数和第二个特殊数的倍数,那么不能说该数字,而是要说FizzBuzz,
以此类推。如果同时是三个特殊数的倍数,那么要说FizzBuzzWhizz。
5. 学生报数时,如果所报数字包含了第一个特殊数,那么也不能说该数字,
而是要说相应的单词,比如本例中第一个特殊数是3,那么要报13的同学应该说Fizz。
如果数字中包含了第一个特殊数,那么忽略规则3和规则4,比如要报35的同学只报Fizz,
不报BuzzWhizz。
- public static void main(String[] args) {
- new QusByThoughtWorks().getRes();
- }
-
- public void getRes(){
- //1先得到三个个位数
- int[] init = new int[3];
- Scanner sc = new Scanner(System.in);
- String[] temp =sc.nextLine().split(",");
- for(int i=0;i<3;i++){
- init[i] = Integer.parseInt(temp[i]);
- }
- for(int j=1;j<=100;j++){
- String str="";
- //先判断是否符合条件5
- if(init[0] == (j/10) || init[0] == (j%10) || init[0] == (j%100)){
- str="Fizz";
- }else if( j% init[0] == 0){
- str+="Fizz";
- }
- if(j% init[1] == 0){
- str+="Buzz";
- }
- if(j% init[2] == 0){
- str+="Whizz";
- }
- if(!str.equals("")){
- System.out.println(str);
- }else{
- System.out.println(j);
- }
- }
- }
复制代码
|
|