java - 在使用 For 循环将两个不同字符的三角形放入一个矩形时遇到问题?

标签 java loops printing for-loop nested

输入示例:

3

4

输出示例(假设空格 = 新行。)

QQQH
QQHH
QHHH

QQQQH
QQQHH
QQHHH
QHHHH

到目前为止,尝试打印的代码片段是(假设所有变量都是预定义的):

public int getSize()
{
    for (int i = size; i > 0; i--){
        for (int j = 1; j < size; j++){
            out.print("Q");
            out.print("H");
        }
        out.println("");
    }
    return 0;
}

它只是打印:(假设空格 = 新行。)

QHQHQHQHQH
QHQHQHQHQH
QHQHQHQHQH
QHQHQHQHQH
QHQHQHQHQH

对于 5 的输入。我不太确定如何让它只打印其各自整数值的次数。谁能解释一下?

最佳答案

你可以将内部循环分成两部分,像这样:

    for (int i = size; i > 0; i--) {
        for (int j = 0; j < i; j++) {
            out.print("Q");
        }
        for (int j = i; j < size + 1; j++) {
            out.print("H");
        }
        out.println();
    }

输出:

QQQH
QQHH
QHHH

QQQQH
QQQHH
QQHHH
QHHHH

或者如果你不想打破循环,你可以使用三元运算符:

for (int i = size; i > 0; i--) {
    for (int j = 0; j < size + 1; j++) {
        out.print(j < i ? 'Q' : 'H');
    }
    out.println();
}

关于java - 在使用 For 循环将两个不同字符的三角形放入一个矩形时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15194872/

相关文章:

python - 为什么python FOR循环没有控制结构?

java - 加密被截断

python - 使用嵌套 for 循环创建字典

java - Java Set 没有随机访问方法

r - 在 R 中使用 for 循环在管道上迭代变量

python - 为什么打印返回的元组与按索引打印元组成员不同?

java - 如何打印 List<Object[]> 值?

list - 只是试图递归地打印一个列表,但没有打印

java - String.getBytes ("UTF-8")不是平台无关的吗?

java - Selenium 驱动程序通过在浏览器中切换选项卡而卡住