gpt4 book ai didi

java - 初学者java - 向后打印直角三角形

转载 作者:行者123 更新时间:2023-12-02 07:31:23 27 4
gpt4 key购买 nike

上次我来这里时,我在计算机科学作业中唯一需要帮助的问题涉及在 100 条线上制作直角三角形,以下是该问题的代码:

    public class PrintTriangle {
public static void main(String[] args) {
// Print a right triangle made up of *
// starting at 100 and ending with 1
int i = 100;
while (i > 0) {
for (int j = 0; j < i; j++)
System.out.print("*");
System.out.println();
i--;
}
}
}

现在他要求我们做相反的事情。这是实际的问题:

"Write a program that will draw a right triangle of 100 lines in the following shape: The first line, print 100 '', the second line, 99 '’... the last line, only one '*'. Using for loop for this problem. Name the program as PrintTriangle.java"

 *****
****
***
**
*

我确信这很简单,但到目前为止我尝试过的一切都失败了,或者一次只创建了 1 个空间。任何建议或帮助将不胜感激!预先感谢您!

最佳答案

好的,首先看一下这两个问题。您如何将它们联系起来。

由于第二个问题与第一个问题相反,因此您在第一个代码中首先执行的操作,您需要在下一个问题中最后执行该操作。

因此,您的循环实际上应该向后运行,在下面的代码中结束。

int i = 100;
for (int j = 0; j < i; j++)
System.out.print("*");

所以,想想你需要做什么才能使这个循环向后工作。

提示:-

  • 从 0 增加到 100 是向前移动
  • 从 100 递减到 0 是向后的

    ****  
    ***
    **
    *

此外,在上面的模式中,您会发现在实际打印字符之前需要先打印空格,因此,您也需要考虑这一点。

所以,在这里你必须实际打印两个不同的字符: -

  • 几个空格,后面跟着,
  • 很少有*

这是模式:-

  • 假设最大行数为 max(在您的情况下为 100)
  • 行 (i) 具有 (i) 个空格 (第 0 行有 0 个空格,第 1 行有 1 个空格)
  • 那么它有 (n - i) 个星星(第 0 行有 100 个星星,第 1 行有 99 个星星)<

因此,您可以看到这里实际上需要两个循环。

分析我所说的一切,并提出一些代码。试试看。

关于java - 初学者java - 向后打印直角三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12875366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com