用于为学校项目显示以下模式的 bluej 程序

bluej program for displaying following pattern for a school project

我对 BlueJ 编程环境中的 Java 相当了解。但是我不知道要写一个循环函数来创建这个 图案。任何帮助或指示都会非常有帮助。

    1
    3 1
    5 3 1
    7 5 3 1
    9 7 5 3 1

到目前为止我的代码...

import java.util.*;
public class scanner {
    public static void main(){
        Scanner sc = new Scanner(System.in);
        int val = 1;
        for( int i=1; i < 5; i++){
            for(int j = 1; j > i; j--){
                System.out.print(j+" ");
                if(val != 1) {
                   System.out.print(1);
                }
                val +=1;
            }
            System.out.println();
        }
    }
}

你的方法太复杂了。我建议您定义关键变量并将它们用于算法。顺便说一句,您不需要使用 java.util.Scanner,因为您没有从控制台接收到任何输入值。

int end = 1;
int step = 2;
int rows = 5;

for (int i=0; i<rows; i++) {
    for (int j=0; j<i+1; j++) {
        int number = end + i*step - j*step;
        System.out.print(number + " ");
    }
    System.out.println();
} 

输出(make sure):

1 
3 1 
5 3 1 
7 5 3 1 
9 7 5 3 1 

此外,在您的代码中有以下行:

for (int j = 1; j > i; j--) { ...

由于条件 j > ij 减法,此循环不允许进入循环体。我建议您调试程序并跟踪 ij 值以了解发生了什么。