java - Java - 如何在不使用数组的情况下显示字符串中的所有子字符串
问题描述
我有一个字符串:
1|name|lastname|email|tel \n
2|name|lastname|email|tel \n
我知道我必须使用循环来显示所有行,但问题是在我的分配中
我不能使用数组或除 String 和 System 之外的其他类。
另外我想在不使用排序方法或数组的情况下按升序对名称进行排序。
我必须使用 compareTo 方法来比较两个名称吗?
如果是这种情况,我如何使用 compareTo 方法对名称进行排序。
例如,如果 compareTo 返回 1,则表示该名称大于另一个名称。在那种情况下,我如何管理返回以在字符串中正确排序名称?
解决方案
要像示例中那样显示字符串的所有子字符串,您可以一个一个地浏览所有字符并将它们存储在一个字符串中。每当您点击分隔符(例如 | 或 \n)时,打印最后一个字符串。
这是一个关于在 Java 中遍历字符串字符的线程:在 Java 中遍历字符串字符 的最简单/最好/最正确的方法是什么?
如果您还需要在没有数组的情况下按升序对名称进行排序,则需要多次扫描输入 - 对 N 个字符串进行排序至少需要 N*log(N) 步。如果这是一个数据结构问题,PriorityQueue 应该为您解决问题 - 插入所有子字符串,然后以排序方式将它们弹出:)
推荐阅读
- python - Pandas Pivot 在一列上使用多索引
- sql - 如何让 SQL 更灵活地处理“RR-MM-DD HH.MI.SSXFF AM”创建的内容 [22008][1855] ORA-01855:需要 AM/AM 或 PM/PM
- android - 滑动两个标签后片段更新中的 ViewPager
- c - 为什么缺少 vsnwprintf
- linked-list - 从单链表中删除节点时出现错误“无法移出借来的内容”
- laravel - laravel 删除 sweetalert 1 javascript
- html - 使下拉菜单向左打开而不是向右打开
- ios - 仅在推送通知到达时如何在点击之前获取通知
- asp.net-mvc - 为什么表中的排序顺序使视图在我的 MVC 应用程序中处于初始阶段
- java - 如何在四舍五入为整数的 af:inputText 中显示双精度数?