在java中打印星形和字符三角形

时间:2016-10-05 20:44:18

标签: java loops

Here is a screenshot of my Output and the desired output is located below as well我必须创建输出星号和字母o的程序。我已经让它在大多数情况下工作,但输出不是100%正确,很小的事情。到目前为止,这是我的代码:

for(int i = 1; i <=numRows; i++){
    System.out.print("\n");
    for(int j = 0; j<=numRows; j++){
        if(i+j >= numRows){
            System.out.print('*');
            System.out.print("o");
        }else {
            System.out.print(" ");
        }
    }
    System.out.println();

以下是输出结果的截图

Screenshot of the desired output

1 个答案:

答案 0 :(得分:0)

这与我很久以前在课堂上所做的相似。这是代码:

 for(int i = 0; i <= userInput/2; i++)
                        {
                                for(int j = 0; j < (userInput/2 - i); j++)
                                {
                                        printDiamond = printDiamond + " ";
                                }
                                for(int k = 0; k <= (i*2); k++)
                                {
                                        printDiamond = printDiamond + "*";
                                }

                                printDiamond = printDiamond + "\n";
                        }

**原因是userInput / 2是因为另一半代码反向打印钻石,因此实际上是钻石而不是三角形。 **

那么我们有什么:第一个内环负责打印白色空间,有助于我们的钻石形状。下一个内环打印出钻石的顶部; * 2因为我们希望它打印整个钻石的顶部,而不是仅仅钻石的一半,如果我们将它从上到下分开。

我会给你留下额外的额外费用。