java练习题~乘法口诀表

数字版实现如下:

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

猜你喜欢

转载自blog.csdn.net/Hannah_Hsq/article/details/87882622
今日推荐