黑马程序员技术交流社区
标题:
一道thoughtWorks的面试编程题
[打印本页]
作者:
ehuashao
时间:
2014-5-8 13:23
标题:
一道thoughtWorks的面试编程题
本帖最后由 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);
}
}
}
复制代码
作者:
许庭洲
时间:
2014-5-16 12:37
值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2