【发布时间】:2021-12-24 02:43:54
【问题描述】:
我还是编程的初学者。这是我的第一年。 我的代码有问题。我希望你们能帮助我。
这是我的主要(VehicleApp.java)
public static void main(String[] args) {
// TODO code application logic here
int acc, brake;
String type, powerTrain;
Scanner sc = new Scanner(System.in);
Vehicle vehicle = new Vehicle("Car", "Manual", "Electric");
//input
System.out.println("Type of vehicle? [Car, SUV, MPV, Lorry]: ");
type = sc.nextLine();
vehicle.setType(type);
if(type.equals("Lorry")){
System.out.println("Enter Accelerate: ");
acc = sc.nextInt();
vehicle.autoAccelerate(acc);
System.out.println("Enter Brake: ");
brake = sc.nextInt();
vehicle.autobrake(brake);
//output
System.out.println("===========================================\n");
System.out.println(vehicle.getPowertrain()+" "+vehicle.getType()+".");
System.out.println("\nAccelerate:\nCurrent Speed = "+vehicle.autoAccelerate(acc)+" kmh");
System.out.println("\nBrake:\nCurrent Speed = "+vehicle.autobrake(brake)+" kmh");
System.out.println("\nPrice: RM "+vehicle.getRoadtaxPrice());
}
else{
System.out.println("Type of powertrain? [Gasoline, Hybrid, Electric]: ");
powerTrain = sc.nextLine();
vehicle.setPowertrain(powerTrain);
System.out.println("Enter Accelerate: ");
acc = sc.nextInt();
vehicle.autoAccelerate(acc);
System.out.println("Enter Brake: ");
brake = sc.nextInt();
vehicle.autobrake(brake);
//output
System.out.println("===========================================\n");
System.out.println(vehicle.getPowertrain()+" "+vehicle.getType()+".");
System.out.println("\nAccelerate:\nCurrent Speed = "+vehicle.autoAccelerate(acc)+" kmh");
System.out.println("\nBrake:\nCurrent Speed = "+vehicle.autobrake(brake)+" kmh");
System.out.println("\nPrice: RM "+vehicle.getRoadtaxPrice());
}
}
这是我的课(Vehicle.java)
public class Vehicle {
private String typeVehicle, transmissionVehicle, powertrainVehicle;
private int speedVehicle;
public Vehicle(String type, String transmission, String powertrain){
this.typeVehicle = type;
this.transmissionVehicle = transmission;
this.powertrainVehicle = powertrain;
speedVehicle = 60;
}
public int accelerate(){
return speedVehicle+=10;
}
public int brake(){
return speedVehicle-=5;
}
//Getter
public String getType(){
return typeVehicle;
}
//Setter
public void setType(String type){
//type = this.typeVehicle;
this.typeVehicle = type;
}
//Lab3 Start
public int autoAccelerate(int accelerate){
for(int i = 0; i < accelerate; i++){
speedVehicle += 10;
}
return speedVehicle;
}
public int autobrake(int brake){
for(int i = 0; i < brake; i++){
speedVehicle -= 5;
if(speedVehicle <= 0){
speedVehicle = 0;
}
}
return speedVehicle;
}
public double getRoadtaxPrice(){
double price = 0;
if (typeVehicle == "Car"){
if (powertrainVehicle == "Gasoline"){
price = 200;
}
else if (powertrainVehicle == "Hybrid"){
price = 100;
}
else if (powertrainVehicle == "Electric"){
price = 50;
}
else{
price = 0;
}
}
else if (typeVehicle == "SUV" || typeVehicle == "MPV"){
if (powertrainVehicle == "Gasoline"){
price = 300;
}
else if (powertrainVehicle == "Hybrid"){
price = 150;
}
else if (powertrainVehicle == "Electric"){
price = 100;
}
else{
price = 0;
}
}
else if (typeVehicle == "Lorry"){
powertrainVehicle = "All";
price = 400;
}
return price;
}
//Lab3 End
//Getter
public String getTransmission(){
return transmissionVehicle;
}
//Setter
public void setTransmission(String transmission){
transmission = this.transmissionVehicle;
}
//Getter
public String getPowertrain(){
return powertrainVehicle;
}
//Setter
public void setPowertrain(String powertrain){
powertrain = this.powertrainVehicle;
}
public void output(){
System.out.println("Type of vehicle: "+getType());
}
}
我的意见:
Type of vehicle? [Car, SUV, MPV, Lorry]:
MPV
Type of powertrain? [Gasoline, Hybrid, Electric]:
Hybrid
Enter Accelerate:
2
Enter Brake:
2
我的输出:
===========================================
Electric MPV.
Accelerate:
Current Speed = 90 kmh
Brake:
Current Speed = 80 kmh
Price: RM 0.0
输出应该是这样的:
===========================================
Hybrid MPV.
Accelerate:
Current Speed = 90 kmh
Brake:
Current Speed = 80 kmh
Price: RM 150.0
价格和动力总成存在问题。 请帮我! 谢谢。
【问题讨论】:
标签: java function oop input getter