创建 类:为什么会发生这些“'illegal start of expression'”和“:”预期的错误?

Creating classes: Why are these ''illegal start of expression'' and ':' expected" errors happening?

我正在为具有品牌和型号的汽车创建 class,然后每次访问加速器方法时它都会将速度提高 5。我觉得我缺少一些关键部分关于创建您自己的 classes,但我不确定是什么!任何帮助都会很棒。这是我的代码: 导入 java.util.Scanner;

    public class Car
    {
    public static void main (String[] args);
    {
  //Scanner object
  Scanner kb = new Scanner(System.in);

  //variables and declarations
  int yearModel;
  String make;
  int speed = 0;

  System.out.println("Enter model year: ");
  yearModel= Integer.parseInt(kb.nextLine());

  System.out.println("Enter make: ");
  make = kb.nextLine();

  //Car object
  Car car = new Car(yearModel, make, speed);

  System.out.println("Car model year: " + car.getModel() + "/nCar make: " + car.getMake());
  //get speed 5 times
  for (int i = 0; i > 5; i++);
  {
     System.out.println("Car's current speed: " + Accelerate(car.getSpeed()));
  }

  /**
    Accelerator method
    adds five to the speed every time it is accessed
    @param speed car is currently going
    @return new current speed, increased by five
    */
    public int Accelerate(int speed)
    {
    int newSpeed = speed+5;

    return newSpeed;
    }

}

  /**
  Constructor
  @param yearModel holds the cards model year
  @param make holds the make of the car
  */
  public Car(int yearModel, String make, int speed)
  {
    yearModel = yearModel;
    make = make;
    speed = speed;
  }

    //getSpeed method, returns current speed of car
    public int getSpeed();
    {
     return speed;
    }

    //getYear method, returns model year @return year model
    public int getModel()
    {
     return yearModel;
    }

    //getModel method, @return make
    public String getMake()
    {
     return make;
    }
 }

这是我遇到的错误:

Car.java:37: error: illegal start of expression
    public int Accelerate(int speed)
    ^
Car.java:37: error: ';' expected
    public int Accelerate(int speed)
                         ^
Car.java:37: error: ';' expected
    public int Accelerate(int speed)

任何帮助都会很棒,我在这方面还很陌生

您在方法原型后放置了一个分号:

public static void main (String[] args);

同样的问题:

public int getSpeed();

在您的静态 main 方法之后还缺少结束大括号:

    for (int i = 0; i > 5; i++) ;
    {
        System.out.println("Car's current speed: " + Accelerate(car.getSpeed()));
    }
}

for 语句后的分号也不应该出现:D 你一定很喜欢分号。