基于给定模式的生成

时间:2015-08-25 19:23:14

标签: java

这是我到目前为止所做的。虽然这段代码中的问题是在第6行,但是在9之后它打印10,11等等而不是再次在0,1 ......等等。

2 个答案:

答案 0 :(得分:1)

当你做任何产生可能是>= 10的整数的计算(+或*),但你只想要数字0-9时,你真的想要除以余数 10,意思是你想要x % 10

示例:7 * 2 = 1414 % 10 = 4。合并:(7 * 2) % 10 = 4

答案 1 :(得分:1)

public void generate(int integer_input) {
    int count = 0;
    int k = 0;
    int count1 = 0;

    for (int i = 1; i <= integer_input; ++i) {
        for (int space = 1; space <= integer_input - i; ++space) {
            System.out.print(" ");
            ++count;
        }

        while (k != 2 * i - 1) {
            if (count <= integer_input - 1) {
                System.out.print((i + k) % 10);
                ++count;
            } else {
                ++count1;
                System.out.print((i + k - 2 * count1) % 10);
            }
            ++k;
        }
        count1 = count = k = 0;
        System.out.print("\n");
    }
}