漫天啊 2023-04-03 20:19 采纳率: 73.3%
浏览 37
已结题

连续的数据用横杠链接,最后将所有数据用逗号连接输出。

Java编程:
集合中存有Integer类型的数据,写一个方法:把连续的数据用横杠链接,最后将所有数据用逗号连接输出。
例:1 2 3 7 8 10 14 返回:1-3,7-8,10,14
求一个简单点儿的做法,感谢

  • 写回答

2条回答 默认 最新

  • pzzhao 2023-04-03 21:12
    关注

    代码如下。

        public static void main(String[] args) {
            List<Integer> list = Arrays.asList(1, 2, 3, 7, 8, 10, 14);
            Integer first = list.get(0);
            StringBuffer stringBuffer = new StringBuffer();
            stringBuffer.append(first);
            Integer temp = null;
            for (int i = 0; i < list.size() -1; i++) {
                Integer a = list.get(i);
                Integer b = list.get(i + 1);
                if (b.equals(a + 1)) {
                    continue;
                }
                if (!a.equals(temp)) {
                    stringBuffer.append("-");
                    stringBuffer.append(a);
                }
                stringBuffer.append(",");
                stringBuffer.append(b);
                temp = b;
            }
            System.out.println(stringBuffer);
        }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月3日
  • 已采纳回答 4月3日
  • 修改了问题 4月3日
  • 修改了问题 4月3日
  • 展开全部

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程