package com;</p><p>public class Count {<br /> public static void print(int count) {<br /> int is[][] = new int[count][count];<br /> int i = 0;<br /> int c = count * count;<br /> // 橫向座標累加器<br /> int j = 0;<br /> // 縱向座標累加器<br /> int k = 0;<br /> // 橫縱向控制,1為橫向,-1為縱向<br /> int m = 1;<br /> // 座標累加器,1為遞增,-1為遞減<br /> int n = 1;<br /> while (i < c) {<br /> is[j][k] = ++i;<br /> if (m > 0) {<br /> k += n;<br /> // 觸邊轉向<br /> if (k < 0 || k >= count || is[j][k] != 0) {<br /> m *= -1;<br /> k -= n;<br /> j += n;<br /> }<br /> } else {<br /> j += n;<br /> // 觸邊轉向<br /> if (j < 0 || j >= count || is[j][k] != 0) {<br /> m *= -1;<br /> j -= n;<br /> n *= -1;<br /> k += n;<br /> }<br /> }<br /> } </p><p> for (int p = 0; p < count; ++p) {<br /> for (int q = 0; q < count; ++q)<br /> System.out.print(is[p][q] + "/t");<br /> System.out.println();<br /> }<br />}<br /> public static void main(String[] args) {<br /> Count hCount = new Count();<br /> hCount.print(7);<br />}<br />}<br />