【发布时间】:2012-01-20 18:31:19
【问题描述】:
我已经在这个电梯程序上工作了很长一段时间,终于完成了它并使它工作,我为自己感到非常自豪,但我想看看如何优化我的代码,这样我就可以为未来学习。通过优化我的意思是让代码看起来更好,也许是通过使用更少的代码行。
static int floor = 0, choice1, person = 0;
public static void main(String args[])
{
floor = ((int) (Math.random() * 10 + 1));
System.out.println("The elevator is now on floor " +floor);
System.out.print("Which floor are you at now (0-10) where 0 = basement: ");
choice1 = Keyboard.readInt();
if(floor == choice1)
{
System.out.println("Enter the elevator");
}
else if(floor > choice1)
{
ElevatorDown();
}
else if(floor < choice1)
{
ElevatorUp();
}
System.out.println("To which floor would you want to go (0-10) where 0 = basement");
choice1 = Keyboard.readInt();
if(floor > choice1)
{
ElevatorDown();
}
else if(floor < choice1)
{
ElevatorUp();
}
}
public static void ElevatorUp()
{
System.out.println("The elevator is on it's way up...");
for (person = choice1; choice1>=floor; floor++)
System.out.println(floor);
System.out.println("The elevator has arrived");
}
public static void ElevatorDown()
{
System.out.println("The elevator is on it's way down...");
for (person = choice1; choice1<=floor; floor--)
System.out.println(floor);
System.out.println("The elevator has arrived");
}
【问题讨论】:
-
优化什么?速度、内存使用量、可读性……?
-
基本上只是为了减少代码行数,让它看起来更好更合适。如果您正在关注这种优化。
-
不应该发到codereview.stackexchange.com吗?
-
验证用户输入。
-
更少的代码行并不意味着更好的代码。正确缩进你的代码,学习 Java 命名约定并遵守它们,总是在你的 if/for/while 块中使用花括号。添加 Javadoc。每行只声明一个变量。在
if之后添加一个空格。不要滥用静态方法,使用局部变量而不是全局变量。
标签: java optimization if-statement