JAVA 二维数组的应用----打印唐诗(横版,竖版 春晓)
作者:互联网
JAVA 用二维数组打印唐诗
你好WO SHI 七七卡卡 ^ _ ^
二维数组的应用----打印唐诗(横版,竖版 春晓)
我们上次讨论了如何用javascrip创建二维数组,这次我们用java 二维数组解决一个小问题——打印唐诗(横版,竖版 春晓)
在做之前,我们先看看打印后的效果:
横版
0.0我们先定义一个二维数组
横版 竖版
春眠不觉晓, 花 夜 处 春
处处闻啼鸟。 落 来 处 眠
夜来风雨声, 知 风 闻 觉
花落知多少。 多 雨 啼 觉
少 声 鸟 晓
。 , 。 ,
0.0 首先我们先定义一个有四行的二维数组
char arr[][]=new char[4][];
0.1随后我们再将唐诗定义到二维数组里
arr[0] = new char[] {'春','眠','不','觉','晓'};
arr[1] = new char[] {'处','处','闻','啼','鸟'};
arr[2] = new char[] {'夜','来','风','雨','声'};
arr[3] = new char[] {'花','落','知','多','少'};
0.2在一步,我们用两个 for
循环循环读取这个数组,外层循环行,内侧循环列。(i)外层循环我们好解决,for(int i=0;i<arr.length;i++)
那内层循环我们怎么定义呢?我们让它 如果(j)小于行的个数那么就一直循环,for(int j=0;j<arr[i].length;j++)
实际上我们所打印的唐诗——春晓是一个 4 * 5(参数从零开始实际上是## 3*4) 的二维数组,这样我们就比较好理解了。
0.3 随后,我们打印出这个二维数组就可以了
System.out.print(arr[i][j]);
0.4 我们再看我们的打印要求,我们发现,我们需要在唐诗的最后需要加上标点符号。——这里我们用到了 if 语句如果 行(i)是偶数行那么我们显示 " , "
否则我们显示 " 。 " 看代码:
if(i%2==0) {
System.out.println(",");
}else {
System.out.println("。");
}
我们看效果图:::::
竖版
1.0横版的我们做好了我们开始探索竖版该如何打印。我们先观察一下,我们所打印的唐诗——春晓是一个 5 * 4(参数从零开始实际上是## 4*3)的二维数组——原来的行(i)变成了列(j), 原来的列(j)变成了行(i)。
1.1我们的外层循环为
for(int j=0;j<arr[0].length;j++)
是比较好理解的但内层循环我们如何理解呢?
如果我们按照横板的思维我们的内层 for 循环应为for(int i=0;i<arr.length;i++)
随后我们运行的结果我们会发现我们的结果却为(如图)
春 处 夜 花
眠 处 来 落
不 闻 风 知
觉 啼 雨 多
晓 鸟 声 少
这显然与开头的结果是不相符的,for(int i=0;i<arr.length;i++)
所打印的是从[0][0]
开始打印,也就是从唐诗——春晓 ——春眠不觉晓。。。。这一句开始打印 ,应该是从花落知多少[3][0]
开始打印。
Two thousand years。。。。。。。。。。。。。。。。。
修改后 for(int i=3;i>=0;i--)
这样就可以了,我们再在 for 循环中加入显示结果
for(int j=0;j<arr[0].length;j++) {
for(int i=3;i>=0;i--) {
System.out.print(arr[i][j]);
}
System.out.print(); //换行
}
竖版的标点符号我们不再使用 if 语句,直接在 for 循环外输入打印语句就可以了
System.out.println("。,。,");
让我们一起看看效果怎么样
嗯,我觉得 外瑞古德 ! ^ _ ^ !
完整代码:
这就是我们用 JAVA 的二维数组所完成的一个小实例 对二维数组的理解和 for 循环的运用还是比较有帮助的。
希望对你在学习 JAVA 的道路上提供一点点帮助。谢谢,
WO SHI 七七卡卡 ^ _ ^ 如果代码对你有帮助还希望 点赞+关注
标签:arr,JAVA,竖版,打印,二维,循环,横版,数组,我们 来源: https://blog.csdn.net/qq_47018979/article/details/105590344