程序为给定的 N 行打印正方形图案数字为奇数

问题描述

我按照下面的代码进行了尝试,但无法获得所需的输出

package patterns;
import java.util.Scanner;
public class OddSquarePattern {

    public static void main(String[] args) {
        Scanner sc= new Scanner(system.in);
        int n=sc.nextInt();
        int i=1;

        while(i<=n) {
            int j=n;
            int odd= 2*i-1;
            while(j>=i){
                System.out.print(odd);
                odd=odd+2;
                j--;
            }
            
            int p=1;
            while (p<=i-1) {
                System.out.print(p);
                p=p+2;  
            }
            
            System.out.println();
            i++;
                    
        }

    }

}

解决方法

您应该导入扫描仪包。在 public static void 之前的前一行中键入此内容 导入 java.util.Scanner;

,

试试这个代码。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        int n=sc.nextInt();
        int i=1;

        while(i<=n) {
            int j=n;
            int odd= 2*i-1;
            while(j>=i) {
                System.out.print(odd);
                odd=odd+2;
                j--;
            }
            if(j!=0) {
                int p=1,temp=1;
                while (temp<i) {
                    System.out.print(p);
                    p=p+2;
                    temp++;
                }
            }
            System.out.println();
            i++;
        }
    }
}