Java教程

java 宫格数的输出

本文主要是介绍java 宫格数的输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


import java.util.Scanner;
public class XXX {

public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个奇数:");
int n=sc.nextInt();//获取输入的数
if(n==-1)
{
return;
}
else if(n%2==0)
{
System.out.println("输入的数字必须为奇数!");
}
else {
int arr [][]=new int[n][n];//初始化宫格数
int row=0;
int line=n/2;//从中间列开始
for(int i=1;i<=n*n;i++)
{
arr[row][line]=i;
row--;
line++;
//每一次行数减一,列数加一;
if(row<0 && line>n-1)//行列都越界,排在原数的下面
{
row+=2;
line-=1;
}
else if(row<0)//行越界,变为最后一行,列不变
{
row=n-1;
}
else if(line>n-1)//列越界,行不变,列变为第一列
{
line=0;
}
else if(arr[row][line]!=0)//冲突,排在原数下面
{
row+=2;
line-=1;
}
}
//打印
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}

}

这篇关于java 宫格数的输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!