优化这段代码public class CarStack { private Car[] Carstack;//对象数组 private int top;//在非空栈中,top始终指向栈顶元素的下一个存储位置栈 private static int MAXSIZE=5; //栈的构造函数,构造一个存储空间为MAXSIZE的空 public CarStack() { top=0; Carstack = new Car[MAXSIZE]; } //栈置空 public void clear() { top=0; } //判空 public boolean isEmpty() { return top==0; } //判满 public boolean isFull() { return top==MAXSIZE; } //求栈中元素的个数 public int length() { return top; } //取栈顶元素 public Object peek() { if(!isEmpty()) return Carstack[top-1]; else return null; } //车辆进栈 public boolean push(Car car) { if(top >= MAXSIZE) return false;//车子没有成功停进停车场,返回false else Carstack[top++] = car; return true;//车子成功停进停车场,返回true } //车辆出栈 public Car pop() { if(isEmpty()) return null; else return Carstack[--top]; } //输出栈中的所有元素 public void display() { if(isEmpty()) { System.out.println("停车场暂时没有车!"); } else { for(int i=top-1;i>=0;i--) System.out.println(Carstack[i].toString()+" "); } } }
时间: 2023-12-06 09:40:39 浏览: 126
ClassCar.zip_class_classCar
1. 将数组初始化放到构造函数中,避免重复代码。
2. 根据Java的命名规范,变量名应该使用小写字母开头的驼峰式命名法。
3. 可以使用增强for循环来遍历数组,使代码更简洁易读。
4. 方法中的注释应该清晰明了,不要只是重复方法名。
5. 可以将栈的最大长度作为构造函数的参数,使得栈的长度可以根据实际情况进行设置。
6. 在pop()方法中,可以直接返回null代替else语句,使代码更简洁。
7. 可以在push()方法中使用条件表达式代替if语句,使代码更简洁。
修改后的代码如下:
public class CarStack {
private Car[] carStack; // 对象数组
private int top; // 在非空栈中,top始终指向栈顶元素的下一个存储位置栈
private int maxSize; // 栈的最大长度
// 栈的构造函数,构造一个存储空间为maxSize的空
public CarStack(int maxSize) {
top = 0;
carStack = new Car[maxSize];
this.maxSize = maxSize;
}
// 栈置空
public void clear() {
top = 0;
}
// 判空
public boolean isEmpty() {
return top == 0;
}
// 判满
public boolean isFull() {
return top == maxSize;
}
// 求栈中元素的个数
public int length() {
return top;
}
// 取栈顶元素
public Car peek() {
if (!isEmpty()) {
return carStack[top - 1];
} else {
return null;
}
}
// 车辆进栈
public boolean push(Car car) {
return top < maxSize ? (carStack[top++] = car) != null : false;
}
// 车辆出栈
public Car pop() {
return isEmpty() ? null : carStack[--top];
}
// 输出栈中的所有元素
public void display() {
if (isEmpty()) {
System.out.println("停车场暂时没有车!");
} else {
for (Car car : carStack) {
if (car != null) {
System.out.println(car.toString() + " ");
}
}
}
}
}
阅读全文