java:利用数组实现将古诗词纵向输出
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:利用数组实现将古诗词纵向输出相关推荐
- java利用数组随机抽取幸运观众_java利用数组随机抽取幸运观众
本文实例为大家分享了java利用数组随机抽取幸运观众的具体代码,供大家参考,具体内容如下 思想: 首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标 ...
- java利用数组求平均值_Java程序使用数组计算平均值
Java程序使用数组计算平均值 在此程序中,您将学习计算Java中给定数组的平均值. 示例:使用数组计算平均值的程序 public class Average { public static void ...
- 【Java】数组元素的赋值与输出
public class Test {public static void main(String args[]){int a[]=new int[5];//声明数组并进行存储空间的分配System. ...
- JAVA利用数组求两点距离_利用java、js或mysql计算高德地图中两坐标之间的距离
利用java.js或mysql计算高德地图中两坐标之间的距离 2019-09-19 编程之家收集整理的这篇文章主要介绍了利用java.js或mysql计算高德地图中两坐标之间的距离,编程之家小编觉得挺 ...
- java数组随机抽取分布均匀_java利用数组随机抽取幸运观众
本文实例为大家分享了java利用数组随机抽取幸运观众的具体代码,供大家参考,具体内容如下 思想: 首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标 ...
- 数组随机抽取 java_Java利用数组随机抽取幸运观众如何实现
这篇文章主要介绍了Java利用数组随机抽取幸运观众如何实现,需要的朋友可以参考下 编写程序,事先将所有观众姓名输入数组,然后获得数组元素的总数量,最后在数组元素中随机抽取元素的下标,根据抽取的下标获得 ...
- Java编程之利用数组输出唐诗
问题描述:利用Java编程实现利用数组输出唐诗. 程序源码: public class ArrayTest {public static void main(String[] args){char[] ...
- Java 基础 利用数组来实现银行注册开户、存钱、取钱
Java 基础 利用数组来实现银行注册开户.存钱.取钱 1.主界面 放置于BankSystem类中 思路: (1)用输入语句完成主界面的编写 (2)用Scanner实现键盘录入数据 (3)用switc ...
- JAVA基础练习:应用数组实现杨辉三角输出3.5
应用数组实现杨辉三角输出3.5 一.问题描述 分别采用一维数组和二维数组输出杨辉三角,并且对比其不同之处 二.数学分析 杨辉三角的基本规律是,第n行有n个数字,n个数数字中首尾都是1,其余数字等于其两 ...
- java 中数组的创建 数组遍历 以及数组的输出(打印)
什么是数组? 如果我们需要创建一个 int 类型变量,那么我们只需要 int a; 如果我们需要创建五个 int 类型变量,那么我们只需要int a1; int a2; int a3; int a4; ...
最新文章
- 获取手机上的相关参数方法
- Spring集成spymemcached
- Python学习笔记011_模块_标准库_第三方库的安装
- 雷林鹏分享:C# 多态性
- 创建featureclass,为它赋别名,并移动到数据集下
- 吉林考生多少分能考上东南大学计算机专业,吉林多少分能上985大学?附吉林高考985录取分数线(2021年参考)...
- java设计模式之——代理模式
- 欧盟回应Meta退出欧洲威胁:没有Facebook生活一样很美好
- 盈建科弹性板6计算_盈建科(300935):国内建筑结构设计软件行业的领先企业...
- 五分钟快速了解EM算法
- 帧中继多点子接口下配置OSPF
- Origin 使用笔记
- IDEA+Java+Servlet+JSP+Mysql实现新闻发布系统
- 点灯科技Arduino开发环境搭建
- 怎么在html5中加三角形,css中怎么设置三角形?
- linux 相关快捷键
- 关于游戏性的概念和实物
- blender FLIP-Fluids 流体插件中文帮助文档系列01
- 在线上也能进行商标注册
- 横河川仪压力变送器故障代码_压力变送器常见故障及分析