数字版实现如下:
public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i+"*"+j+"="+j*i+" ");
}
System.out.print("\n");
}
}
}
汉字版实现如下:
// 汉字版乘法口诀表
public class ChineseMultiplicationTable {
public static void main(String[] args) {
for (int num_1 = 1; num_1 <= 9; num_1++) {
for (int num_2 = 1; num_2 <= num_1; num_2++) {
System.out.print(convert(num_2) + convert((int) num_1));
if (num_1 * num_2 < 10) {
System.out.print("得");
System.out.print(result(num_1 * num_2) + " ");
} else {
System.out.print(result(num_1 * num_2) + " ");
}
}
System.out.println("\n");
}
}
public static String result(int j) {// 定义多位转换
String jj = "";
int bit = 1;// 定义位数
for (int i = 1; j >= Math.pow(10, i); i++) {// 判断输入数字位数
bit++;
}
String text = j + "";
for (int bit_1 = 0; bit_1 < bit; bit_1++) {
if (bit_1 >= 1) { // 判断是否需要加位
jj = jj + addition(bit_1);
}
j = Integer.parseInt(text.substring(bit_1, bit_1 + 1));
jj = jj + convert(j);
}
return jj;
}
private static String addition(int bit_1) { // 定义加位
String ii = "";
switch (bit_1) {
case 0:
ii = "十";
break;
case 1:
ii = "十";
break;
case 2:
ii = "百";
break;
case 3:
ii = "千";
break;
case 4:
ii = "万";
break;
case 5:
ii = "十万";
break;
case 6:
ii = "百万";
break;
case 7:
ii = "千万";
break;
case 8:
ii = "亿";
break;
default:
ii = "出错";
}
return ii;
}
public static String convert(int i) { // 定义单位转换
String ii = "";
switch (i) {
case 0:
break;
case 1:
ii = "一";
break;
case 2:
ii = "二";
break;
case 3:
ii = "三";
break;
case 4:
ii = "四";
break;
case 5:
ii = "五";
break;
case 6:
ii = "六";
break;
case 7:
ii = "七";
break;
case 8:
ii = "八";
break;
case 9:
ii = "九";
break;
default:
ii = "出错";
}
return ii;
}
}
参考:https://blog.csdn.net/qq_41986908/article/details/80195916