用Java实现九宫格

九宫格:共有三行三列九个格子,从1到9共九个数字不重复地填入这九个格子中,条件是每行、每列、两个对角线上三个数字的和相等。

下面用Java实现九宫格:

public class NineTable {
    public static void main(String[] args) {
        int arr[][] = new int[3][3];
        int a = 2;
        int b = 3 / 2;
        for (int i = 1; i <= 9; i++) {
            arr[a++][b++] = i;
            if (0 == i % 3) {
                a = a - 2;
                b = b - 1;
            }
            else {
                a = a % 3;
                b = b % 3;
            }
        }
        System.out.println("output:");
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.print("\n");
        }
    }
}

在Linux上运行:

$javac NineTable.java
$java NineTable
output:
4 9 2
3 5 7
8 1 6

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-08 05:13:18

用Java实现九宫格的相关文章

《Java语言程序设计》大作业报告 九宫格游戏

    <Java语言程序设计>大作业报告     中国石油大学(北京)2015 - 2016 学年第二学期     班级:_____计算机14-1_______ 姓名:_____  许 恺_________________ 学号:______2014011329___________     题意分析 程序首先需要九个可以移动的格子,大小相等,有字符串标示,其次要可以相应鼠标和键盘方向键的控制,可以自由移动,并且与此同时记录步数,最后在满足条件时弹出对话框并显示步数以及是否打破记录,关于打破

GridView和SimpleAdapter九宫格作业

安卓作业: 使用GridView和SimpleAdapter实现手机界面常见的九宫格,图片可以任意选择,注意图片大小 1,主xml文件 <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an

安卓开发_九宫格布局

学习内容来自 android布局基础及范例:人人android九宫格布局 , 类似的九宫格 上面是图片,下面是文字 这里用的是“GridView”表格布局,下面我来给大家讲一下: 首先,请大家理解一下“迭代显示”这个概念,这个好比布局嵌套,我们在一个大布局里面重复的放入一些布局相同的小布局, 那些重复的部分是由图片和文字组成的小控件,图片在上方,文字在下方,之后我们只需要把这些小控件迭代进入主容器里即可. 首先看看主容器的布局 1 <?xml version="1.0" enco

一百行代码实现微信朋友圈九宫格图片显示

前言 很多时候我们都在刷微博或者微信朋友圈的时候都会看到很多图片,而这些图片的显示跟我们平时很多控件的显示方式都不一样,而且,当我们仔细去观察后就会发现,他加载的图片都是根据图片数量动态加载的,根据不同的图片数量来用不同的布局显示 当图片是4张的时候,就会形成一个2x2的正方形,除了一张的情况,另外的都是按照九宫格的方式显示和排列图片的.那么这种布局是怎么实现的呢,一开始,好多人都可能认为用原生的GridView就能搞掂,但是,却有几种特殊的情况是GridView解决不了的,例如4张图片的情况,

算法笔记_183:历届试题 九宫重排(Java)

目录 1 问题描述 2 解决方案   1 问题描述 问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的局面记为:12345678. 把第二个图的局面记为:123.46758 显然是按从上到下,从左到右的顺序记录数字,空格记为句点. 本题目的任务是已知九宫的初态和终态,求最少经过多少步的移动可以到达.如果无论多少步都无法到达,则输出-1. 输入格式 输入第一行包含

看武侠学编程_以九宫格为例介绍强大的声明式语言Prolog

如果要给众多编程语言分个类,你可能会把它们分成低级语言和高级语言,或者分成面向对象语言和面向过程语言.然而,更多中国程序员所不太熟悉的另外一种划分方式将会把计算机语言分成命令式和声明式两大阵营.之所以说大家可能不太熟悉这种划分,那是因为我们平常所使用绝大部分语言都是命令式的.但事实上你确实也应该注意到另外一大阵营的存在. 命令式编程(ImperativeProgramming)是现今最为广泛使用的编程范型.读者所熟知的众多计算机语言,如C.C++.Java.Pascal.Basic.Python

求解数独的所有解法,java编程实现

数独是一种考验眼力和逻辑的小游戏,关键在这个"独"字上,横竖不能重复,方块不能重复.今天我给大家介绍一种利用"循环+递归+回溯"的办法来用Java程序替我们完成数独. 先给代码随后讲解: 1 import java.util.HashMap; 2 import java.util.Map; 3 4 public class T2 { 5 public static final int N=3; 6 public static void main(String[] a

java经典题目

/***********Ryear.java begin********************/ import java.util.Scanner;public class Ryear { /** * @param args */ public static void main(String[] args) { /** * 编写程序,判断给定的某个年份是否是闰年. * 闰年的判断规则如下: * (1)若某个年份能被4整除但不能被100整除,则是闰年. * (2)若某个年份能被400整除,则也是

Java从基础到进阶学习之路----数独小游戏制作(二)

详细设计 游戏数据结构设计 显然,需要存储数据的地方只有九宫格地图部分. 对于地图,很明显我们可以采用二维数组int [] [] game;来存储地图中的数据.但是int的二维数组虽然直接简单,但是还是有一定不便之处,比如没有集合的内置处理方法丰富.所以,显然,在游戏地图的生成过程中,一些辅助数据我们可以采用Java的集合. 地图生成算法 对于数独而言,游戏的成功的最根本的保证就是当前的地图有一个存在的解.这就像是解方程,如果不存在解,那么这个游戏本身就是失败的. 所以,重点在于如何产生一个存在