用random写的一个点名程序,字符串转换字符串数组出了点问题,求大神帮忙解决下(源码贴出)

共勉ing 2018-09-07 10:08:11
...全文
338 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackSkinny 2018-09-14
  • 打赏
  • 举报
回复
引用 2 楼 小妖怪pan的回复:
问题出在对string=br.readLine();的理解。读取文件的一行数据的时候实际上并不会读取“回车”“换行”,因此你拼成的字符串本来就是一行内容,在使用split分割的时候自然不能分割出你想要的数组。 解决方案有两个: 方案一: 1.在姓名的后面增加“逗号”如: 张三, 李四, 王五, 2.调用函数split(",") 方案二: 1.读取的时候增加分割string=br.readLine() +","; 2.调用函数split(",") 方案三: br.readLine()的结果直接增加的数组的对应位置上。 另外值得一提的是:函数中尽量不要使用全局变量,应将参数放到函数内。 ps:下次提问不要截图,把代码粘进来,要不我还得手工还原你的代码
readLine()那一行还少了一对大括号
qq_39936465 2018-09-13
  • 打赏
  • 举报
回复
StringBuilder sb= new StringBuilder();完全没有意义 既然要拆分为数组,干么先合并呢? 直接写成 for(int i=0;i<3;i++)str[i]=br.readLine(); 原程序问题多多,懒得吐槽了,肯定得不出你说的结果。
潘少博 2018-09-12
  • 打赏
  • 举报
回复
问题出在对string=br.readLine();的理解。读取文件的一行数据的时候实际上并不会读取“回车”“换行”,因此你拼成的字符串本来就是一行内容,在使用split分割的时候自然不能分割出你想要的数组。 解决方案有两个: 方案一: 1.在姓名的后面增加“逗号”如: 张三, 李四, 王五, 2.调用函数split(",") 方案二: 1.读取的时候增加分割string=br.readLine() +","; 2.调用函数split(",") 方案三: br.readLine()的结果直接增加的数组的对应位置上。 另外值得一提的是:函数中尽量不要使用全局变量,应将参数放到函数内。 ps:下次提问不要截图,把代码粘进来,要不我还得手工还原你的代码
verejava 2018-09-09
  • 打赏
  • 举报
回复
Java 常用类库 之 Random 随机数类实例

http://www.verejava.com/?id=169931132381103

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧