要求,打印如下图:
我们先来对其分析,一共打印九行,规律是第n行打印n个算式,其算式分别是1~n与n相乘的算式。
我们一步一步对其完成。
- 打印九行
- 第n行打印n个算式
- 第n行的第m个算式为
m*n=mn
代码如下:
//打印九九乘法表
//1.打印九行
for (int i = 1; i <= 9; i++) {
//2.第n行打印n个算式
for (int j = 1; j <= i; j++) {
//3.第n行的第m个算式为 m*n=mn
System.out.print(j + "*" + i + "=" + (i * j) + "\t");
}
//换行
System.out.println();
}
运行上述代码,我们就能得到要求图的结果了。
博主无聊时也做出了输出汉字版本的九九乘法表,代码如下:
public static void main(String[] args) {
//打印九九乘法表 汉字版本
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
String str = "";
str += numToChar(j);
str += numToChar(i);
int result = i * j;
if (result / 10 == 0) {//结果为一位数
str += "得";
}
str += numToChar(result);
System.out.print(str + "\t");
}
System.out.println();
}
}
/**
* 根据1~99的不同 分别返回一到九十九
*
* @param num 范围1~99 输入范围外的数返回空字符串
* @return
*/
public static String numToChar(int num) {
String str = "";
if (num > 0 && num < 10) { //数字为一位数
switch (num) {
case 1:
str = "一";
break;
case 2:
str = "二";
break;
case 3:
str = "三";
break;
case 4:
str = "四";
break;
case 5:
str = "五";
break;
case 6:
str = "六";
break;
case 7:
str = "七";
break;
case 8:
str = "八";
break;
case 9:
str = "九";
break;
}
} else if (num == 10) { //数字为10
str = "一十";
} else if (num > 10 && num < 100) { //数字为11~99
//十位
if (num / 10 > 1) { //十位为2~9
str = numToChar(num / 10);
}
str += "十";
//个位
str += numToChar(num % 10);
}
return str;
}
效果如下图:
更多有趣的打印方式可在下方与博主交流哦,(╹▽╹)