社区
Java SE
帖子详情
Java九宫
killsansan
2008-10-22 10:47:03
最近老师布置了一个思考题,要我们设计一个九宫格。思考良久,未果。
望哪位仁兄能帮小弟解答一下。
有源代码最佳
...全文
186
11
打赏
收藏
Java九宫
最近老师布置了一个思考题,要我们设计一个九宫格。思考良久,未果。 望哪位仁兄能帮小弟解答一下。 有源代码最佳
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
duobiao
2008-10-30
打赏
举报
回复
都是牛人,学习一下
简而言之_ni
2008-10-30
打赏
举报
回复
曾经写过唉。。
wNvShine
2008-10-29
打赏
举报
回复
这个曾经用C#做俄罗斯方块的时候做过..
loveny
2008-10-29
打赏
举报
回复
public class TestNine{
public static void main(String[] args){
int n=9;
if(n%2==0){
System.out.println("Error!");
System.exit(0);
}
int[][] data=new int[n][n];
int row=0,col=n/2;
for(int i=1;i<=n*n;i++){
data[row][col]=i;
row--;
col++;
if (row==-1 && col<n){
row=n-1;
}
if (row>=0 && col==n){
col=0;
}
if ( (row==-1 && col==n) || data[row][col]!=0) {
row+=2;
col--;
}
/*
if (data[row][col]!=0){
row+=2;
col--;
}
*/
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.print(data[i][j]+" ");
}
System.out.println();
}
}
}
landyshouguo
2008-10-27
打赏
举报
回复
[Quote=引用 5 楼 Y125348369 的回复:]
class aa {
public aa() {
}
public static void main(String[] args) {
aa nine15 = new aa();
nine15.makeMatrix();
}
private boolean test(int[][] m){
int sums[] = {0,0,0};
boolean finishes[] = {true, true, true};
for(int j=0; j <3; j++){
int sum = 0;
boolean finished = true;
fo…
[/Quote]j
youzi530
2008-10-27
打赏
举报
回复
http://youzi530.blog.163.com/blog/
幻方阵!?
分
Y125348369
2008-10-26
打赏
举报
回复
class aa {
public aa() {
}
public static void main(String[] args) {
aa nine15 = new aa();
nine15.makeMatrix();
}
private boolean test(int[][] m){
int sums[] = {0,0,0};
boolean finishes[] = {true, true, true};
for(int j=0; j<3; j++){
int sum = 0;
boolean finished = true;
for(int i=0; i<3; i++){
sum+= m[j][i];
sums[i] += m[j][i];
if(m[j][i]==0){
finished = false;
finishes[i] = false;
}
}
if(sum>15){
return false;
}
if(finished&&sum!=15){
return false;
}
}
if(sums[0]>15||sums[1]>15||sums[2]>15){
return false;
}
if(finishes[0]&&sums[0]<15){
return false;
}
if(finishes[1]&&sums[1]<15){
return false;
}
if(finishes[2]&&sums[2]<15){
return false;
}
int s1 = m[0][0]+m[1][1]+m[2][2];
if(s1>15){
return false;
}
if(m[0][0]>0&&m[1][1]>0&&m[2][2]>0&&s1<15){
return false;
}
int s2 = m[0][2]+m[1][1]+m[2][0];
if(s2>15){
return false;
}
if(m[0][2]>0&&m[1][1]>0&&m[2][0]>0&&s2<15){
return false;
}
return true;
}
private void print(int[][] m){
for(int j=0; j<3; j++){
for(int i=0; i<3; i++){
System.out.print("\t"+m[j][i]);
}
System.out.println();
}
}
private void makeMatrix() {
int m[][] = new int[3][3];
int p=0;
int v=9;
int pv[] = new int[10];
while(v>0){
if(p==9){
++v;
if(v==10){
break;
}
p=pv[v];
int rr = p/3;
int cc = p%3;
m[rr][cc] = 0;
pv[v] = 0;
p++;
continue;
}
int r = p/3;
int c = p%3;
if(m[r][c]>0){
p++;
continue;
}
m[r][c] = v;
if(test(m)){
if(v>1){
pv[v] = p;
v--;
p = 0;
}else{
System.out.println("=======");
print(m);
m[r][c] = 0;
p++;
}
}else{
m[r][c] = 0;
p++;
}
}
}
}
dm520
2008-10-24
打赏
举报
回复
不太明白楼主的意思 ,详细点
yami251139
2008-10-23
打赏
举报
回复
直接把数字报给他成不?
ZangXT
2008-10-22
打赏
举报
回复
如果只是设计一个九宫格的话不把几条线画出来就ok了?
还有别的要求吗?
ol_soft
2008-10-22
打赏
举报
回复
我没做过,但是数据结构上有一种回朔的方法可以解决
JAVA
九宫
排序
JAVA
九宫
排序.doc
JAVA
九宫
排序
JAVA
九宫
排序
java
九宫
排序算法
通过网页式文件调用.class文件,选取多种方法实现
九宫
排序
九宫
图(
JAVA
实现)
采用
Java
EE编写,将项目部署到服务器(比如:C:\Program Files\apache-tomcat-7.0.23\webapps),然后在浏览器地址栏输入相应地址(比如:http://localhost:8080/ninepalace/form/ninePalaces.jsp),在页面中输入框中输入数字提交,即可得到所要的
九宫
图。
java
九宫
算法 不重复
用
java
实现
九宫
算法的所有解!即纵横都是不重复的数(1-9),小
九宫
也不能重复数!
重拍
九宫
问题
JAVA
实现——三种方法
人工智能课程实验,要求实现重拍
九宫
问题
JAVA
实现——三种方法。顺利完成了~
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章