如何在Java中生成A-F与1-11组合的飞机座位序列
解决Java生成飞机座位序列的问题
你当前的代码仅存储了座位的字母部分,没有结合排数(数字),而且二维char数组无法直接表示1A这类完整的座位标识。要生成目标序列,应该用字符串数组存储每个座位的完整编号,核心是将排数(1到11)与字母(A到F)拼接起来。
实现代码示例
public class PlaneSeats { public static void main(String[] args) { int totalRows = 11; // 排数范围1-11 char[] seatLetters = {'A', 'B', 'C', 'D', 'E', 'F'}; String[] seats = new String[totalRows * seatLetters.length]; int arrayIndex = 0; // 遍历每一排 for (int rowNum = 1; rowNum <= totalRows; rowNum++) { // 遍历当前排的所有座位字母 for (char letter : seatLetters) { seats[arrayIndex++] = rowNum + String.valueOf(letter); } } // 打印生成的座位序列(可选,用于验证) for (String seat : seats) { System.out.print(seat + " "); } } }
关键说明
- 使用
String[]存储座位号:因为每个座位是“数字+字母”的组合,属于字符串类型,而非单个字符 - 排数从1开始循环:对应飞机座位的实际排号规则
- 拼接逻辑:将排数(整数转字符串)与座位字母直接拼接,得到完整的座位标识
内容的提问来源于stack exchange,提问作者Amanda James
相关产品推荐
相关产品推荐

