/**
* 程序目的,从1 开始 为数组赋值 赋值方式为蛇形
* 形如
* 10 11 12 1
* 9 16 13 2
* 8 15 14 3
* 7 6 5 4
*
*
*/
import java.util.Scanner;
import java.util.Arrays;
public class LightPro {
public static void main(String args[]) {
// 4 4
int[][] a = new int[4][4];
int x,y;
int num = 0;
num = a[x = 0][y = 3] = 1;
for(int i = 0;i < 4;i++) {
Arrays.fill(a[i],0);
}
while(num < 16) {
while(x + 1 < 4 && a[x + 1][y] == 0) a[++x][y] = ++num;
while(y - 1 >= 0 && a[x][y - 1] == 0) a[x][--y] = ++num;
while(x - 1 >= 0 && 0 == a[x - 1][y]) a[--x][y] = ++num;
while(y + 1 < 4 && 0 == a[x][y + 1]) a[x][++y] = ++num;
}
for(int i = 0;i < 4;i++) {
for(int j = 0;j < 4;j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}请各位帮忙看看这个程序错在哪儿
* 程序目的,从1 开始 为数组赋值 赋值方式为蛇形
* 形如
* 10 11 12 1
* 9 16 13 2
* 8 15 14 3
* 7 6 5 4
*
*
*/
import java.util.Scanner;
import java.util.Arrays;
public class LightPro {
public static void main(String args[]) {
// 4 4
int[][] a = new int[4][4];
int x,y;
int num = 0;
num = a[x = 0][y = 3] = 1;
for(int i = 0;i < 4;i++) {
Arrays.fill(a[i],0);
}
while(num < 16) {
while(x + 1 < 4 && a[x + 1][y] == 0) a[++x][y] = ++num;
while(y - 1 >= 0 && a[x][y - 1] == 0) a[x][--y] = ++num;
while(x - 1 >= 0 && 0 == a[x - 1][y]) a[--x][y] = ++num;
while(y + 1 < 4 && 0 == a[x][y + 1]) a[x][++y] = ++num;
}
for(int i = 0;i < 4;i++) {
for(int j = 0;j < 4;j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}请各位帮忙看看这个程序错在哪儿
解决方案 »
- 高分,向高手提问 java.io.IOException:underlying input stream returned zero bytes
- JAVA中怎样实现javascript的escape()方法?
- Error establishing socket 我要崩溃了
- 小妹特急!!!!用java如何实现像Excel、Word的当前页面查询功能??(倾家荡产60分了......)
- 求封装好的poi包,在线等
- 有关线程和UI的简单问题(在线等待,高分求解)
- 使窗体一开始窗体的大小为
- 请教JBuild的问题,还有B/S or B/C
- j2re1.4.1如何配置?
- 谁有java2高级编程源码?
- i++ 和++i
- [菜鸟求助]各路大神,帮帮忙~急用!!
num = a[x = 0][y = 3] = 1;
for(int i = 0;i < 4;i++) {
Arrays.fill(a[i],0);
}前一句刚给a[0][3]赋的值,后一句就没了