public class Arr {
public static void main(String[] args) {
// TODO Auto-generated method stub
char arr[][]=new char[4][];
arr[0]=new char[] {'春','眠','不','觉','晓'};
arr[1]=new char[] {'处','处','闻','啼','鸟'};
arr[2]=new char[] {'夜','来','风','雨','声'};
arr[3]=new char[] {'花','落','知','多','少'};
System.out.println("横版");
for(char x[]:arr)
System.out.println(x);
System.out.println("倒版");
int i,j;
for(i=3;i>=0;i--) {
for(j=0;j<=4;j++) {
System.out.print(arr[i][j]);
}
if(i%2==0)
System.out.println(",");
else
System.out.println("。");
}
System.out.println("竖版");
for(i=0;i<=4;i++) {
for(j=3;j>=0;j--) {
System.out.print(arr[j][i]);
}
System.out.println();
}
System.out.println(", 。 , 。");
}
}
新思路:m(行)xn(列)转换成n(行)xm(列)
if(m<n):first观察每一行/列的变化下标和不变下标,变化的下标应在内层循环,不变的为外层循环;second确定输出格式是以行还是以列;
可以通过调整双层for循环的i,j变量大小范围实现,无需交换变量 (交换变量的想法是错的,因为行列不相等)。需要注意数组越界问题。
System.out.println(“最后祝大家中秋快乐!!!中秋暴富!!!”);