关闭

拉勾网ThoughtWorks面试题java代码

标签: 应聘题目java面试题
332人阅读 评论(0) 收藏 举报

今天看了一道题感觉很有意思就动手写了一下,对于一个新手来说,很有练习意义,我就把题目和代码发出来大家参考一下,希望能提提意见

你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有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名学生应该报数的数或单词。

java代码如下

public  class Man {

int int1;
int int2;
int int3;
static int index=1;
static String str1="三";
static String str2="五";
static String str3="七";
String string="";

public static void main(String[] args) {
    Man man=new Man(3,5,7);
    for(int i=1;i<=100;i++){
        System.out.println(man.toString());
    }

}
public  Man(int int1,int int2,int int3){
    this.int1=int1;
    this.int2=int2;
    this.int3=int3;
}
public  String toString(){
    if(index%10==int1){
        index++;
        return str1;
    }
    if(index%10==int2){
        index++;
        return str2;
    }
    if(index%10==int2){
        index++;
        return str3;
    }
    if(index%int1==0){
        string+=str1;
    }
    if(index%int2==0){
        string+=str2;
    }
    if(index%int3==0){
        string+=str3;
    }
    if(string==""){
        return Integer.toString(index++);
    }
    index++;
    String string1=string;
    string="";
    return string1;
}
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:335次
    • 积分:14
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档