`

if 和while的混用...

J# 
阅读更多
关于打印出
1 2 9 10 25 26 49 50 81 82
4 3 8 11 24 27 48 51 80 83
5 6 7 12 23 28 47 52 79 84
16 15 14 13 22 29 46 53 78 85
17 18 19 20 21 30 45 54 77 86
36 35 34 33 32 31 44 55 76 87
37 38 39 40 41 42 43 56 75 88
64 63 62 61 60 59 58 57 74 89
65 66 67 68 69 70 71 72 73 90
100 99 98 97 96 95 94 93 92 91
的数组。

一直保持循环的思维,错将if用while来代替,运行了半天也没发现原因...幸好虹哥帮指正了,还有数字的格式输出。正确代码如下~

public class PrintArray {

	static void initial(int[][] a, int n) {
		if (n > 0) {
			if (n % 2 == 0) {
				int temp = (n - 1) * (n - 1) + 1;
				for (int i = 0; i < n; i++) {
					a[i][n - 1] = temp++;
				}
				for (int j = n - 2; j >= 0; j--) {
					a[n - 1][j] = temp++;
				}
				initial(a ,n - 1);
			} else {
				int temp = (n - 1) * (n - 1) + 1;
				for (int i = 0; i < n; i++) {
					a[n - 1][i] = temp++;
				}
				for (int j = n - 2; j >= 0; j--) {
					a[j][n - 1] = temp++;
				}
				initial(a ,n - 1);
			}
		}
	}
	
	static void print(int[][] a, int n) {
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				System.out.printf("%03d", a[i][j]);//System.out.printf("%3d", a[i][j])
				System.out.print(" ");
			}
			System.out.println("");
		}
	}

	public static void main(String[] args) {
		int n=10;
		int [][] a=new int[n][n];
		initial(a,n);
		print (a,a.length);
	}
}
分享到:
评论

相关推荐

    Python基础教程之if判断,while循环,循环嵌套

    但应注意,在python开发中,tab和空格不能混用! 判断年龄示例: # 判断是否成年,成年则可以进网吧 age = 19 if age&gt;=18: print("你满了18岁,可以进网吧") if及其缩进代码可以看成一个完整的代码块 比较运算符...

    你必须知道的495个C语言问题(PDF)

    5.3 用缩写的指针比较“if(p)” 检查空指针是否可靠?如果空指针的内 部表达不是0 会怎么样? . . . . . . . . . . . . . . . . . . . . . . . 22 5.4 NULL 是什么, 它是怎么定义的? . . . . . . . . . . . . . . ....

    iPhone应用开发从入门到精通代码

    C的数据类型和表达式524.3.1 数据类型524.3.2 运算表达式544.4 Objective-C的循环语句554.4.1 for循环554.4.2 while循环564.4.3 do循环574.5 Objective-C的条件语句584.5.1 if语句584.5.2 switch语句594.5....

    单片机-中断实验-实验报告.doc

    一是主程序中的延时程序和中断处理程序中的延时程序不能混用, 本实验中,主程序延时用的寄存器和中断延时用的寄存器应不相同。 四、实验电路 (参考学习板说明书Page11) 五、接线方式 (参考学习板说明书Page11) P1...

    你必须知道的495个C语言问题.pdf

    我看到过类似while((c = getchar()) != EOF && c != '\n')的代码 3.7 是否可以安全地认为,一旦&&和||左边的表达式已经决定了整个表达式的结果,则右边的表达式不会被求值? 3.8 为什么表达式printf("%d %d", f1(), ...

    javaSE代码实例

    4.1 if条件语句 42 4.1.1 简略形式 42 4.1.2 完全形式 43 4.1.3 语句的嵌套 43 4.2 switch多分支语句 45 4.2.1 基本语法 45 4.2.2 合法的判断表达式 46 4.2.3 合法的case表达式 47 4.2.4 详细执行...

    C语言FAQ 常见问题列表

    o 7.17 我怎样在函数参数传递时混用静态和动态多维数组 ? o 7.18 当数组是函数的参数时, 为什么 sizeof 不能正确报告数组的大小 ? * 8. 内存分配 o 8.1 为什么这段代码不行?char *answer; printf("Type ...

    你必须知道的495个C语言问题

    6.20 我怎样在函数参数传递时混用静态和动态多维数组? 数组的大小 6.21 当数组是函数的参数时,为什么sizeof不能正确报告数组的大小? 6.22 如何在一个文件中判断声明为extern的数组的大小(例如,数组定义和...

    《你必须知道的495个C语言问题》

    我看到过类似while((c = getchar()) != EOF && c != '\n')的代码…… 35 3.7 是否可以安全地认为,一旦&&和||左边的表达式已经决定了整个表达式的结果,则右边的表达式不会被求值? 36  3.8 为什么表达式printf...

    嵌入式红绿灯控制系统

    (2)LED IF 工作电流按应用需要选用,各档不能混用。LED 灯用各档LED 电流:大功率照明用LED 其封装从成品来看是单颗芯片的,其实是用N 颗LED管芯封装在一个单位里的。它们的排列组合是串并联,它们是N 个串联,再...

Global site tag (gtag.js) - Google Analytics