Java “建立一个公共汽车座位”;“行和列”;
我想建立一个公共汽车座位服务。比如: 座位 取决于用户要插入的行数 我的代码运行良好,但我想改进它。任何建议都很好。注意:我讨厌没有大括号的嵌套for循环的编写方式 代码:Java “建立一个公共汽车座位”;“行和列”;,java,arrays,algorithm,for-loop,logic,Java,Arrays,Algorithm,For Loop,Logic,我想建立一个公共汽车座位服务。比如: 座位 取决于用户要插入的行数 我的代码运行良好,但我想改进它。任何建议都很好。注意:我讨厌没有大括号的嵌套for循环的编写方式 代码: static void总线行(int numberOfRows){ 字符串字母[]={“A”、“B”、“C”、“D”}; 如果(numberOfRows程序相对简单且编写良好,那么对两个嵌套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();
}
}