Java “建立一个公共汽车座位”;“行和列”;

Java “建立一个公共汽车座位”;“行和列”;,java,arrays,algorithm,for-loop,logic,Java,Arrays,Algorithm,For Loop,Logic,我想建立一个公共汽车座位服务。比如: 座位 取决于用户要插入的行数 我的代码运行良好,但我想改进它。任何建议都很好。注意:我讨厌没有大括号的嵌套for循环的编写方式 代码: static void总线行(int numberOfRows){ 字符串字母[]={“A”、“B”、“C”、“D”}; 如果(numberOfRows程序相对简单且编写良好,那么对两个嵌套for循环也没有太多的更改。您在缩进和大括号方面保持了良好的编程实践,因此没有太多改进 您可以尝试创建对您有用的功能,如座位预订或删除。

我想建立一个公共汽车座位服务。比如: 座位

取决于用户要插入的行数

我的代码运行良好,但我想改进它。任何建议都很好。注意:我讨厌没有大括号的嵌套for循环的编写方式

代码:

static void总线行(int numberOfRows){
字符串字母[]={“A”、“B”、“C”、“D”};

如果(numberOfRows程序相对简单且编写良好,那么对两个嵌套for循环也没有太多的更改。您在缩进和大括号方面保持了良好的编程实践,因此没有太多改进

您可以尝试创建对您有用的功能,如座位预订或删除。例如,用户希望坐在座位2B上。您可以捕获用户的输入,并使用X来“预订”座位,这样您的行将如下所示:


2A X 2C 2D

您的嵌套
for
循环与座椅生成算法一样高效

我建议的唯一细微变化是将
letters
数组从
String[]
更改为
char[]
假设所有座位标签都是单字符字母。这种变化很小,但原因是
char
是一种基本数据类型,只占用2个字节,而
String
是一个实际对象,即使为空,也至少需要32个字节

这是一个非常特殊的更改,在本例中不会给您带来太多重大的更改,但我认为这是一种实践,它将有助于将来编码,因为每个字节都可能计数

希望这是有价值的

参考资料:


您打算将来从
busRow
方法返回座位的值,还是只使用
println()
在您的方法中打印它们?我投票结束这个问题,因为它属于“注意:我讨厌我编写没有大括号的嵌套for循环的方式”.如果你这么讨厌它,那你到底为什么要这样写呢?很好的建议@Gilad。谢谢你的提示。
 1A 1B 1C 1D
 2A 2B 2C 2D
 3A 3B 3C 3D
 3A 3B 3C 3D
 4A 4B 4C 4D 
 5A 5B 5C 5D 
 6A 6B 6C 6D 
 7A 7B 7C 7D 
static void busRow(int numberOfRows){
    String letters[] = {"A","B","C","D"};
    if (numberOfRows<=0){
        System.out.println("Without Seats? It isn't a bus! please insert number of rows");
    }

    for (int i =1; i<=numberOfRows;i++){
        for (int j =0;j<letters.length;j++)
            System.out.print(i+""+letters[j]+" ");
        System.out.println();
    }

}