import java.util.Scanner;

public class Sudoku {
    public static void main(String[] args) {
        System.out.println("请输入九宫格的行列规模(只能是奇数的):");
        Scanner scn = new Scanner(System.in);
        int n = Integer.parseInt(scn.nextLine());
        int arr[][] = new int[n][n];
        int a = 0;
        int b = (n-1) / 2;
        arr[a][b] = 1;
        for (int i = 2; i <= n*n; i++)
        {
            if(a==0 && b==n-1)
            {
                a++;
            }
            else if(a==0 && b>=0 && a<n-1)
            {
                a=n-1;
                b++;
            }
           else if(a>0 && a<=n-1 && b==n-1)
           {
                 b=0;
                 a--;
           }
           else if(arr[a-1][b+1]!=0)
           {
                 a++;
           }
           else
           {
                 b++;
                 a--;
           }
            arr[a][b]=i;
        }
        for(int ii = 0;ii<n;ii++)
        {
            for (int jj = 0; jj < n; jj++)
            {
                System.out.print(arr[ii][jj] + "\t");
            }
        System.out.println();
        }
    }
}

完成九宫格程序
在井字型的格局中(奇数格局),放入数字,使得每行每列以及斜对角线的和都相等
经验规则:从1开始按顺序逐个填写,1放在第一行的中间位置,下一个数往右上角45度
处填写。如果单边越界则按头尾相接地填;如果有冲突,则填在刚才位置的底下一格
如果双边越界,则填在刚才位置的底下一格。

Java实现九宫格的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. Java计算手机九宫格锁屏图案连接9个点的方案总数

    (一)问题 九宫格图案解锁连接9个点共有多少种方案? (二)初步思考 可以把问题抽象为求满足一定条件的1-9的排列数(类似于“八皇后问题”),例如123456789和987654321都是合法的(按照 ...

  3. 算法笔记_087:蓝桥杯练习 9-1九宫格(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 九宫格.输入1-9这9个数字的一种任意排序,构成3*3二维数组.如果每行.每列以及对角线之和都相等,打印1.否则打印0. 样例输出 与上面 ...

  4. Java蓝桥杯 算法提高 九宫格

    算法提高 9-1九宫格 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 九宫格.输入1-9这9个数字的一种任意排序,构成3*3二维数组.如果每行.每列以及对角线之和都相等,打印1.否 ...

  5. java小游戏java九宫格

    问题来源于吾爱破解https://www.52pojie.cn/thread-1484202-1-1.html 编程目标一:根据下面的"游戏说明",实现该游戏程序,完成响应用户的输 ...

  6. 就这么漂来漂去---一个毕业三个月的java程序员的裸辞风波

    注:这并不是一篇技术文章,而是记录了我这几个月经历的入职,裸辞,找工作的心路历程,简单介绍一个博主的情况,我是16年毕业生,校招进了一家北京的公司,java开发,和很多年轻人一样,干了一段时间,我发现 ...

  7. appium 九宫格解锁招商银行手机客户端app

    之前研究了一段时间的appium for native app 相应的总结如下:                                            appium测试环境搭建 :ht ...

  8. java在图片上添加文字

    业务需求要在图片上添加水印.下面粘出代码供自己和大家分享 package com.pro.drawTextOnImg; import java.awt.Color; import java.awt.F ...

  9. java经典题目

    /***********Ryear.java begin********************/ import java.util.Scanner;public class Ryear { /** ...

随机推荐

  1. Netty 长连接服务

    转自:https://www.dozer.cc/2014/12/netty-long-connection.html 推送服务 还记得一年半前,做的一个项目需要用到 Android 推送服务.和 iO ...

  2. 关于Spring的69个问题

    Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring ...

  3. js 保留几位小数位数

    定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字.

  4. 【codeforces 515C】Drazil and Factorial

    [题目链接]:http://codeforces.com/contest/515/problem/C [题意] 定义f(n)=n这个数各个位置上的数的阶乘的乘积; 给你a; 让你另外求一个不含0和1的 ...

  5. MySql数据库优化可以从哪几个方面进行?

    1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...

  6. E. Rusty String

    E. Rusty String time limit per test 3 seconds memory limit per test 512 megabytes input standard inp ...

  7. windows下swoole安装教程

    1)下载安装cygwin(根据操作系统选择32位或者64位): https://cygwin.com/install.html 选择在windows中虚拟环境的root目录 选择下载安装的网络节点,如 ...

  8. [bzoj1455]罗马游戏_左偏树_并查集

    罗马游戏 bzoj-1455 题目大意:给你n个人,2种操作,m次操作:1.将i号士兵所在的集合的最小值删除 2.合并i和j两个士兵所在的团体 注释:$1\le n\le 10^6$,$1\le m ...

  9. Unity图片变灰的方式

    http://www.tuicool.com/articles/Vruuqme NGUI中的Button差点儿是最经常使用到的控件之中的一个,而且能够组合各种组件(比方UIButtonColor,UI ...

  10. pthread_rwlock pthread读写锁

    原文: http://www.cnblogs.com/diegodu/p/3890450.html 使用读写锁 配置读写锁的属性之后,即可初始化读写锁.以下函数用于初始化或销毁读写锁.锁定或解除锁定读 ...