首页 > 解决方案 > 线程“主”java.lang.NoSuchMethodError 中的异常:'void Car.setYear(java.lang.Integer)'

问题描述

在此处输入图像描述在此处输入图像描述我正在为一个类编写此代码,它要求我提供以下问题陈述: 问题陈述 设计一个名为 Car 的类,该类具有以下字段:

year:year 字段是一个整数,用于保存汽车的年份。

make:make 字段是一个保存汽车品牌的字符串。

speed:速度字段是一个整数,保存汽车的当前速度。

此外,该类应具有以下构造函数和其他方法:

构造函数:构造函数应该接受汽车的年份 >model 并作为参数。这些值应分配给对象的 year 和 make 字段。构造函数还应该将 0 分配给 speed 字段。

访问器:设计适当的访问器方法来获取存储在对象的年份、品牌和速度字段中的值。

我收到错误消息。“线程“主”java.lang.NoSuchMethodError 中的异常:Mod10MyCar.main(Mod10MyCar.java:21) 处的 'void Car.setYear(java.lang.Integer)'

有人可以在这里帮助我吗?

import java.util.Scanner;

public class Mod10MyCar {

public static void main(String[] args) {

    // Declare input variables
    Integer inputYear;
    String inputMake;
    Integer inputSpeed;

    // Create a Car object
    Car Type = new Car();

    Scanner keyboard = new Scanner(System.in);

    // get values of a car
    System.out.println("What is the year of the car?");
    inputYear = keyboard.nextInt();
    Type.setYear(inputYear);

    System.out.println("What is the make of the car?");
    inputMake = keyboard.nextLine();
    Type.setMake(inputMake);

    //Show values of car
    System.out.println("The car year is " + Type.getYear());
      System.out.println("The make is " + Type.getMake());

}
}

class Car {

// Fields
String make;
Integer year;
Integer speed;

// Constructor
public void Car(String make, Integer year) {

    this.year = year;
    this.make = make;
    this.speed = 0;
}

// Mutators
public void setYear(Integer year) {
    this.year = year;
}

public void setMake(String make) {
    this.make = make;
}

public void setSpeed(Integer speed) {
    this.speed = speed;
}

// Accessors
public String getMake() {
    return make;
}

public Integer getYear() {
    return year;
}

public Integer getSpeed() {
    return speed;
}
}

标签: java

解决方案


我不知道您正在使用的 IDE,但据此我可以假设您只是在编译Mod10MyCar类而不是Car您想要的。我不知道它在这个 IDE 上是如何工作的,但尝试编译两者。或者使两个不同.java,这样您就可以确定在编译时将编译整个项目。

在此处输入图像描述

同样对于 java,我会推荐 Intellij IDE。它对学生免费。


推荐阅读