当前位置: 首页 > news >正文

不规则数据表格转置

首先申明我是一个初学Java算法的小菜鸡,在一次实验课上,发现了这个题,小小的震撼了我,刚开始我还一直在纠结怎么动态存数据,其实 Java 的二维数组本身就支持“锯齿状”(Jagged Array),也就是每一行的长度可以不一样!这简直是老天爷赏饭吃。
我的新思路就三步,简单粗暴:
暴力读取,直接存数组:
先读入行数 n,直接 new String[n][]。每一行读进来,用 split(" ") 切割,直接塞进数组里。顺便用一个变量 max 记录下最长的那一行有多少列,这决定了我们转置后一共有多少行。
外层循环控制“列号”:
我们要把原来的“列”变成“行”。所以外层循环从 0 遍历到 max。
灵魂字符串拼接:
内层循环遍历原来的每一行 i。
防越界判断:if(j < arr[i].length),只有当这一行在第 j 列有数据时,我们才处理。
防空格巧思:怎么保证数字之间有空格,但行尾没空格?不用算索引!直接判断拼接的字符串 line 是不是空的。如果不是空的,说明前面已经有数字了,那就先加个空格再拼数字;如果是空的,直接拼数字。完美!
好啦,废话不多说,我们直接上代码

import java.util.Arrays;
import java.util.Locale;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();sc.nextLine();//吃掉nextint留下的换行符String[][]arr = new String[n][];int max = 0;for (int i = 0; i < n; i++) {arr[i] = sc.nextLine().split(" ");//逐行读取并切割数据if (max < arr[i].length) {max = arr[i].length;}}for (int j = 0; j < max; j++) {String line = "";for (int i = 0; i < n; i++) {if(j < arr[i].length){if(!line.isEmpty()){line += " ";//如果line不为空,说明前面已经有数据了,就增加一个空格}line += arr[i][j];}}System.out.println(line);}sc.close();}
}
http://www.jsqmd.com/news/844270/

相关文章:

  • 单文件产出知识参考库技能singlefile-output-reference
  • 2026年贵阳百货批发与地摊创业完全指南:从源头货源到稳定供应链的实战选型 - 企业名录优选推荐
  • 江苏省六西格玛绿带/黑带学习路径--众智商学院专业解析 - 众智商学院课程中心
  • 2026东莞蒸汽消音器 按需定制 型号全价格超公道 - 速递信息
  • linux jar 包启动脚本
  • 青龙面板签到盒:一站式解决30+平台自动签到难题的终极方案
  • 修复V831因/dev/root分区只读造成的WiFi网卡丢失问题
  • 如何在5分钟内彻底解决Mac NTFS读写难题:终极免费开源方案
  • 2026年贵阳百货批发、地摊货源怎么选?思洪多元vs云贵川竞品供应商深度评测指南 - 企业名录优选推荐
  • 深入解析2026年最具综合实力的10款企业级 CRM 系统 - Blue_dou
  • 【免费下载】 解锁潜能,尽在掌握:深入探索VMware17 Unlocker工具
  • 边走边聊 Python 3.8:Chapter 21 CI/CD 自动化测试
  • 匀胶机 / 旋涂仪厂家怎么选?行业头部企业与专业生产商全解析 - 品牌推荐大师
  • 聚酯生产高效控质必备!聚酯在线粘度计推荐,可加工定制,交货快且品质有保障 - 品牌推荐大师
  • 2026京东E卡回收渠道横评:处理闲置卡,鼎鼎收到账快效率高还省心 - 鼎鼎收礼品卡回收
  • 新手必看:用PHPStudy在Windows上快速搭建Pikachu靶场(附File Inclusion通关实战)
  • 合肥靠谱犬舍猫舍宠物店推荐,现场挑选安心合肥头部 - 范德萨的得到
  • 【亲测免费】 探索高效PCB设计:FreeRouting插件助力KiCad自动布线
  • 2 code view src\driver\ros_robot_controller\ros_robot_controller\ros_robot_controller_node.py
  • Dddify:给 ASP.NET Core 项目一套轻量、清晰、可落地的 DDD 基础设施
  • 8.1、网络层—虚电路网络和数据报网络,IP协议的数据报,IP分组的分片,IP编址和IP子网
  • go 基础之基本数据类型
  • 告别马赛克!用Real-ESRGAN一键修复老照片和网络模糊图(附Python/Colab实战)
  • 探索地图切片的利器:MapCutter 3.8.0
  • 2026天津日常黄金回收鉴定小技巧,普通人也能轻松分辨 - 奢侈品回收测评
  • 打造完美WebGL体验:Unity自适应模板资源推荐
  • 【2026图文教程】VirtualBox下载安装教程:一台电脑同时跑多个系统,免费虚拟机怎么用 - PC修复电脑医生
  • 手把手教你用MASM 6.15在Windows 10上跑通第一个汇编程序(附Hello World源码)
  • 5分钟快速上手:LinkSwift网盘直链下载助手终极指南
  • 2026年义乌装修公司甄选指南:全案设计与施工落地深度评测 | 自有施工不转包原创全案设计全屋定制软装一站式配齐法式中古/意式极简/奶油中古/静奢风全风格覆盖 - 企业品牌优选推荐官