本文讲解如何使用string二维数组替代char数组,灵活存储房间号、医生姓名和就诊时间等混合类型数据,并提供可直接运行的完整示例代码。
在Java中,char类型仅能表示单个字符(如 'A' 或 '1'),无法存储多字符内容(如 "Room 1:"、"Dr. Alex" 或 "8-10 AM")。若强行用char[][]模拟表格,不仅语义不清、扩展性差,还会导致数据截断或逻辑混乱——这正是初学者常遇的典型误区。
正确做法是改用 String[][]:String 是引用类型,天然支持任意长度的文本,完美适配表头与业务数据的多样性需求。以下是一个结构清晰、符合实际场景的实现:
public class DoctorScheduleTable {
public static void main(String[] args) {
// 创建5行3列的二维String数组:[房间][医生][时间]
String[][] schedule = new String[5][3];
// 初始化数据(按真实业务含义赋值)
schedule[0][0] = "No. 01";
schedule[0][1] = "Dr. Ali";
schedule[0][2] = "8-10 PM";
schedule[1][0] = "No. 02";
schedule[1][1] = "Dr. Sara";
schedule[1][2] = "10-12 PM";
schedule[2][0] = "No. 03";
schedule[2][1] = "Dr. Nadir";
schedule[2][2] = "3-4 PM";
schedule[3][0] = "No. 04";
schedule[3][1] = "Dr. Rahul";
schedule[3][2] = "1-4 PM";
schedule[4][0] = "No. 05";
schedule[4][1] = "Dr. Mahir";
schedule[4][2] = "3-6 PM";
// 打印表头(增强可读性)
System.out.printf("%-10s %-12s %-12s%n", "No. Room", "Doctor Name", "Time");
System.out.println("--------------------------------------------------");
// 遍历并格式化输出每行数据
for (int i = 0; i < schedule.length; i++) {
System.out.printf("%-10s %-12s %-12s%n",
schedule[i][0], schedule[i][1], schedule[i][2]);
}
}
}✅ 关键优势说明:
⚠️ 注意事项:
掌握String[][]的合理运用,是构建可读、可维护、可扩展Java数据表格的第一步。