java:利用二维数组实现将古诗词纵向输出.

从网络上随便搜索一首古诗词,这里刻意选择句子长短不一的诗词

1.首先先把诗词放进一个二维数组中.

这里将数组类型定义成char 类型,因为将其定义为String [][]poem的话输入句子时候表达形式就要这样写:

这种方式显然非常的麻烦.

String poem[][]=String [][]poem{{"维","天","之","命",","},{"於","穆","不","已"},……};

于是可以通过toCharArray()这个函数把字符串转换为字符数组.

 1  1 public class poem {
 2  2     public static void main(String[] args) {
 3  3     char [][]poem=new char[][]{
 4  4     "维天之命,".toCharArray(),
 5  5     "於穆不已。".toCharArray(),
 6  6     "於乎不显,".toCharArray(),
 7  7     "文王之德之纯.".toCharArray(),
 8  8     "假以溢我,".toCharArray(),
 9  9     "我其收之。".toCharArray(),
10 10     "骏惠我文王,".toCharArray(),
11 11     "曾孙笃之。".toCharArray()
12 12     };

2.接下来就是思考怎么去排列的问题了,一共要循环多少次? 这里我们知道对于词语,字数每一行并不固定,要找出最大的字数长度,也就是说循环的次数就是我们最大的字数长度.保证每一行每一个元素都被访问到.
25    int max = 0;                // 获取最大的字数长度
26     for (int i = 0; i < poem.length+1; i++) {
27         int t = poem[i].length;         // 获取第i行的长度
28         if (t > max){                    // 第i行的长度大于最大值
29             max = t;
30         }
31     }        

3.通过for循环,来把数组重新排列.
 32         for (int i=0;i<max;i++){                  //这里代表输出多少行
 33             for (int j=arrays.length-1;j>=0;j--){
 34                                                     // j代表的是排列前数组的行,用来判断原来第j行的字数
 35
 36                 if (i<arrays[j].length){
 37                     System.out.print(arrays[j][i]);
 38                 }else{
 39                     System.out.print(" ");
 40                 }
 41             }
 42             System.out.println();
 43         }
 44     }
 45 }                


运行之后,这里都意识到一个问题,这里的词每一行的字数都不一样,原来是有8行7列,而竖着输出则会有7行8列.显然会有一个提示出现:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8at zhengli.daysixarr.main(daysixarr.java:27)

原来的27行代码稍稍修改为28行代码,就运行正常了.

原因是因为超出了数组的空间界限,

将数组原来的长度加上1,这样子就把原来的7行8列,'扩展'成8行8列.

27        // int t = poem[i].length;         // 获取第i行的长度
28         int t = poem[i].length+1;    

运行结果:

曾骏我假文於於维
孙惠其以王乎穆天
笃我收溢之不不之
之文之我德显已命
。王。,之,。,,  纯   .   

转载于:https://www.cnblogs.com/Ansonrelovisa/p/5939989.html

java:利用数组实现将古诗词纵向输出相关推荐

  1. java利用数组随机抽取幸运观众_java利用数组随机抽取幸运观众

    本文实例为大家分享了java利用数组随机抽取幸运观众的具体代码,供大家参考,具体内容如下 思想: 首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标 ...

  2. java利用数组求平均值_Java程序使用数组计算平均值

    Java程序使用数组计算平均值 在此程序中,您将学习计算Java中给定数组的平均值. 示例:使用数组计算平均值的程序 public class Average { public static void ...

  3. 【Java】数组元素的赋值与输出

    public class Test {public static void main(String args[]){int a[]=new int[5];//声明数组并进行存储空间的分配System. ...

  4. JAVA利用数组求两点距离_利用java、js或mysql计算高德地图中两坐标之间的距离

    利用java.js或mysql计算高德地图中两坐标之间的距离 2019-09-19 编程之家收集整理的这篇文章主要介绍了利用java.js或mysql计算高德地图中两坐标之间的距离,编程之家小编觉得挺 ...

  5. java数组随机抽取分布均匀_java利用数组随机抽取幸运观众

    本文实例为大家分享了java利用数组随机抽取幸运观众的具体代码,供大家参考,具体内容如下 思想: 首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标 ...

  6. 数组随机抽取 java_Java利用数组随机抽取幸运观众如何实现

    这篇文章主要介绍了Java利用数组随机抽取幸运观众如何实现,需要的朋友可以参考下 编写程序,事先将所有观众姓名输入数组,然后获得数组元素的总数量,最后在数组元素中随机抽取元素的下标,根据抽取的下标获得 ...

  7. Java编程之利用数组输出唐诗

    问题描述:利用Java编程实现利用数组输出唐诗. 程序源码: public class ArrayTest {public static void main(String[] args){char[] ...

  8. Java 基础 利用数组来实现银行注册开户、存钱、取钱

    Java 基础 利用数组来实现银行注册开户.存钱.取钱 1.主界面 放置于BankSystem类中 思路: (1)用输入语句完成主界面的编写 (2)用Scanner实现键盘录入数据 (3)用switc ...

  9. JAVA基础练习:应用数组实现杨辉三角输出3.5

    应用数组实现杨辉三角输出3.5 一.问题描述 分别采用一维数组和二维数组输出杨辉三角,并且对比其不同之处 二.数学分析 杨辉三角的基本规律是,第n行有n个数字,n个数数字中首尾都是1,其余数字等于其两 ...

  10. java 中数组的创建 数组遍历 以及数组的输出(打印)

    什么是数组? 如果我们需要创建一个 int 类型变量,那么我们只需要 int a; 如果我们需要创建五个 int 类型变量,那么我们只需要int a1; int a2; int a3; int a4; ...

最新文章

  1. 获取手机上的相关参数方法
  2. Spring集成spymemcached
  3. Python学习笔记011_模块_标准库_第三方库的安装
  4. 雷林鹏分享:C# 多态性
  5. 创建featureclass,为它赋别名,并移动到数据集下
  6. 吉林考生多少分能考上东南大学计算机专业,吉林多少分能上985大学?附吉林高考985录取分数线(2021年参考)...
  7. java设计模式之——代理模式
  8. 欧盟回应Meta退出欧洲威胁:没有Facebook生活一样很美好
  9. 盈建科弹性板6计算_盈建科(300935):国内建筑结构设计软件行业的领先企业...
  10. 五分钟快速了解EM算法
  11. 帧中继多点子接口下配置OSPF
  12. Origin 使用笔记
  13. IDEA+Java+Servlet+JSP+Mysql实现新闻发布系统
  14. 点灯科技Arduino开发环境搭建
  15. 怎么在html5中加三角形,css中怎么设置三角形?
  16. linux 相关快捷键
  17. 关于游戏性的概念和实物
  18. blender FLIP-Fluids 流体插件中文帮助文档系列01
  19. 在线上也能进行商标注册
  20. 横河川仪压力变送器故障代码_压力变送器常见故障及分析

热门文章

  1. 【Quartz】 JobListener、Triggerlistener、SchedulerListener介绍与使用
  2. 从word中无损批量导出图片
  3. php制作国旗头像图片,不要再@微信官方了,自己动手一秒制作国旗头像
  4. Cypress UI 自动化测试框架
  5. Android利用NotificationListenerService实现消息盒子功能
  6. 原函数与反函数的关系
  7. 滴滴宋世君:数据分析师究竟是做什么的?
  8. k8s部署mysql
  9. 【整理】爬取网页数据的方法汇总
  10. 随感10-Transecndence超验骇客