??????????????????????????????????????????????蛇行填數(shù)
顯示效果如下:
1
???? ?
3
???? ?
4
????
2
??? ??
5
?????
8
????
6
??? ?
7
???? ?
9
package
?Test;
import
?java.io.BufferedReader;
import
?java.io.IOException;
import
?java.io.InputStreamReader;
public
?
class
?Main?{
????
public
?
static
?
void
?main(String[]?args)?
throws
?NumberFormatException,
????????????IOException?{
????????System.out.println(
"
請(qǐng)輸入數(shù)組的大小:
"
);
????????BufferedReader?br?
=
?
new
?BufferedReader(
new
?InputStreamReader(System.in));
????????
int
?arraySize?
=
?Integer.parseInt(br.readLine());
????????
int
[][]?a?
=
?
new
?
int
[arraySize][arraySize];
????????
int
?row?
=
?
0
;
????????
int
?number?
=
?
1
;????????
//
?準(zhǔn)備填充的數(shù)字
????????
int
?snakeLine?
=
?
0
;????
//
?snakeLine代表斜行(蛇行)數(shù),由于snakeLine將會(huì)用于數(shù)組下標(biāo)的計(jì)算,所以從0開始計(jì)數(shù)
????????
for
?(;?snakeLine?
<
?
2
?
*
?arraySize?
-
?
1
;?snakeLine
++
)?{
????????????
if
?(snakeLine?
<
?arraySize)?
//
?左上半部分
????????????{
????????????????
if
?(snakeLine?
%
?
2
?
!=
?
0
)?
//
?奇數(shù)斜行
????????????????{
????????????????????
for
?(row?
=
?snakeLine;?row?
>=
?
0
;?row
--
)
????????????????????????a[row][snakeLine?
-
?row]?
=
?number
++
;
????????????????}?
else
?{
????????????????????
for
?(row?
=
?snakeLine;?row?
>=
?
0
;?row
--
)
????????????????????????a[snakeLine?
-
?row][row]?
=
?number
++
;
????????????????}
????????????}?
else
?{?
//
?右下半部分
????????????????
if
?(snakeLine?
%
?
2
?
!=
?
0
)?{
????????????????????
for
?(row?
=
?arraySize?
-
?
1
;?row?
>
?snakeLine?
-
?arraySize;?row
--
)
????????????????????????a[row][snakeLine?
-
?row]?
=
?number
++
;
????????????????}?
else
?{
????????????????????
for
?(row?
=
?arraySize?
-
?
1
;?row?
>
?snakeLine?
-
?arraySize;?row
--
)
????????????????????????a[snakeLine?
-
?row][row]?
=
?number
++
;
????????????????}
????????????}
????????}
????????System.out.println(
"
Result?as?follows:\n
"
);
????????
for
?(row?
=
?
0
;?row?
<
?arraySize;?row
++
)?{
????????????
for
?(number?
=
?
0
;?number?
<
?arraySize;?number
++
)?{?
//
?number此處作為數(shù)組的下標(biāo)使用
????????????????System.out.print(a[row][number]?
+
?
"
\t
"
);
????????????}
????????????System.out.println();
????????????System.out.println();
????????}
????}
}
馬嘉楠
jianan.ma@gmail.com
posted on 2006-11-09 13:24
馬嘉楠 閱讀(491)
評(píng)論(0) 編輯 收藏 所屬分類:
SoureCode