Java二维数组写古诗

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(“最后祝大家中秋快乐!!!中秋暴富!!!”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值