我想建立一个巴士座位服务。喜欢: 座位
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
取决于用户想要插入的行数。
我的代码运行良好,但我想改进它。任何建议都会很好。注意:我讨厌我在没有大括号的情况下编写嵌套for循环的方式。
代码:
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();
}
}
答案 0 :(得分:2)
该程序相对简单且编写得很好,对两个嵌套for循环也没有很多变化。您已经通过缩进和括号维护了良好的编程实践,因此无需改进!
您可以尝试创建可能对您有用的有用功能,例如座位预留或删除。例如,用户想要坐在座位2B中。您可以捕获用户的输入和&#34;保留&#34;座位带有 X ,所以你的行看起来如下:
2A X 2C 2D
答案 1 :(得分:2)
您的嵌套for
循环与座位生成算法一样高效。
我建议的唯一一点变化就是将letters
数组从String[]
更改为char[]
,假设所有座位标签都是单字母字母。这种变化非常轻微,但其原因在于,因为char
是原始数据类型,只占用 2个字节,而String
是实际对象,即使是空的,至少需要 32字节。
这是一个非常特别的变化,在这个例子中不会给你带来太大的改变,但我认为这样做有利于将来编码每个字节的编码。
希望这是值得的!
<强>参考:强>