给了一个5*5的矩阵,让旋转着打出里面的字符,题忘了,大致就是这个意思。 上答案:
其实就先自己把数组构建好,然后设定一个一个横坐标的最小值,和最大值,纵坐标的最小值,最大值。依次打出,横,纵,衡,纵,然后横坐标递增,纵坐标递减。
最后判断下,打出中心坐标。
class SpiralPrint{
public static void main(String[] args) {
char matrix[][]= {
{'i','l','o','v','e'},
{'d','i','n','t','e'},
{'n','i','e','e','p'},
{'a','v','w','r','i'},
{'m','a','x','e','c'}
};
SpiralPrint(matrix);
}
public static void SpiralPrint(char[][] m){
int iMin=0,iMax=4,jMin=0,jMax=4;
do {
for(int j=jMin;j<jMax;j++){
System.out.print(m[iMin][j]);
}
for(int i=iMin;i<iMax;i++){
System.out.print(m[i][jMax]);
}
for(int j=jMax;j>jMin;j--){
System.out.print(m[iMax][j]);
}
for(int i=iMax;i>iMin;i--){
System.out.print(m[i][jMin]);
}
iMax--;
jMax--;
iMin++;
jMin++;
}
while(iMin!=iMax||jMin!=jMax);
System.out.print(m[iMax][iMax]);
}
}
本文介绍了一种螺旋打印二维字符数组的方法,通过逐步改变坐标范围实现矩阵元素的螺旋输出。示例使用5*5矩阵进行说明。
7544

被折叠的 条评论
为什么被折叠?



