Fiz-Buz 是一个数字游戏,游戏者轮流报数(如1,2,3),当数到的数字包含了5,或者是可以被5整除的数字时,就必须说“Fiz”,当数到的数字包含了7,或者是可以被7整除的数字时,就必须说“Buz”,如果这个数字既属于“Fiz”和“Buz”时,就要说“FizBuz”。
编写一个Fiz-Buz游戏的程序。程序输出数字本身或者是“Fiz”、“Buz”、“FizBuz”。计算数字从1到100,结果需要显示到一个10x10的表中。表格需要包含一个表头,包含了程序名以及编写者姓名,用符号“-”和“|”来划分表格,输出格式如下:

package myjava.exercize;
/**
*@author gaoluping
*/
public class gaolp1{
/**
*main method.
*/
public static void main(String[] args) {
printHead();
printNum();
printFoot();
}
/**
* print table's head.
*/
public static void printHead() {
System.out.println("|-----------------------------------------------------------------------|\n"+
"| Java Coursework 1 - FizBuz Simulator |\n"+
"| by gaoluping |\n"+
"|-----------------------------------------------------------------------|");
}
/**
* print table's foot.
*/
public static void printFoot() {
System.out.println("-------------------------------------------------------------------------");
}
/**
*print table's content.
*/
public static void printNum(){
for(int j=1;j<=100;j++){
if(j%10==1){//print start '|'
System.out.print ("| ");
}
//print number or string
if(isFizBuz(j,5) && isFizBuz(j,7)) {//judge whether or not a FizBuz
System.out.print("FizBuz ");
}else if(isFizBuz(j,5)) {//judge whether or not a Fiz
System.out.print("Fiz ");
}else if(isFizBuz(j,7)){//judge whether or not a Buz
System.out.print("Buz ");
}else
System.out.printf("%-7d",j);//print num with 7 place
if(j%10==0){//print end '|'
System.out.println ("|");
}
}
}
/**
*judge whether the num is a FizBuz.
*@param num :the num need to judge
*@param divsor:
*@return ture accord with condition
* false don't accord with condition
*/
public static boolean isFizBuz(int num,int divsor) {
String divsorStr=Integer.toString(divsor);// conversion divsor to a String
String numStr=Integer.toString(num);// conversion num to a String
boolean isContainDivsor=( (numStr.indexOf(divsor)>0) ? true : false);//judge whether the numStr containt a divsor
return ((num%divsor==0) || (isContainDivsor));
}
}
发表于 @ 2008年07月18日 11:13:00 | 评论( loading... ) | 举报| 收藏