首页 > 解决方案 > 我正在尝试制作一个模式(java中的三角形)

问题描述

我正在尝试在java中制作这种模式:

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

这是我写的代码:

package practise;
import java.util.Scanner;
public class PatternsUsingLoop {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();       
        for(int j=1;j<=n;j++) { 
            for(int k=n;k>=1;k--) {

                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

请告诉我错误

标签: javaloopsfor-loopiteration

解决方案


有很多方法可以解决这个问题。最简单的修复之一是用以下内容替换内部循环:

for (int k = (n - j) + 1; k >= 1; k--)

由于要在第一行打印 s 的n数量,在第二行中打印 s 的数量等等,因此必须将值初始化为when is ,when is等等。*n - 1*knj1n - 1j2

执行此要求的其他一些方法如下:

一个。

for (int j = n; j >= 1; j--) {
    for (int k = j; k >= 1; k--) {
        System.out.print("* ");
    }
    System.out.println();
}

B.

for (int j = n; j >= 1; j--) {
    for (int k = 1; k <= j; k++) {
        System.out.print("* ");
    }
    System.out.println();
}

...还有很多


推荐阅读