我不知道(未解决的编译问题:)

时间:2019-12-30 10:24:08

标签: java visual-studio-code

我刚刚开始学习Java和vsc。 我搜索并发现所有具有“未解决的编译问题:”的问题。 但是我找不到我的问题。

这是我的错误消息:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
        name cannot be resolved or is not a field

        at Student.<init>(Student.java:10)
        at ShowTrans.main(ShowTrans.java:3)

我安装了所有扩展,调试程序。

Student class

    public class Student {

    String studentName;
    int money;

    public Student() {
    }

    public Student(String name, int money) {
        this.name = studentName;
        this.money = money;
    }

    public void takeBus(Bus bus) {
        bus.take(1000);
        money -= 1000;
    }

    public void takeSubway(Subway subway) {
        subway.take(1500);
        money -= 1500;
    }

    public void showInfo() {
        System.out.println(studentName + "left money : " + money");
    }
}

公交车类

public class Bus {
int money;
int busNumber;
int passenger = 0;

public Bus() {
}

public Bus(int num) {
    this.num = busNumber;
}

public void take(int money) {
    this.money += money;
    passenger++;
}

public void showInfo() {
    System.out.println("Bus" + busNumber + "'s passenger is" + passenger + ", money is" + money");
}}

ShowTrans class

public class ShowTrans {
public static void main(String[] args) {
    Student james = new Student("James", 10000);

    Bus bus100 = new Bus(100);
    james.takeBus(bus100);
    james.showInfo();
    bus100.showInfo();
}}

1 个答案:

答案 0 :(得分:2)

  

我刚刚开始学习Java和vsc。我aleardy搜索并看到所有包含Unresolved compilation problem

的问题

这意味着:最有可能的是,尽管IDE向您显示了编译错误,但您还是单击了IDE中的 run 按钮。

在您的情况下,有一个简单的错字:您很可能将名为name的名称重命名为studentName

确切地说:您在这里倒退了:

this.name = studentName;

应该是

this.studentName = name;

因此,再次:您要求您的IDE运行(由于某些更改)不一致的代码。

解决方案:

  • 避免这样做
  • 含义:进行更改时,请确保您的整个项目在执行任何其他操作之前均无错误编译。

除此之外,学习使用IDE的功能。例如,可能有一个重构代码的功能。其中包括:重命名字段。这样,当您在一个地方更改名称时,该名称的所有用法都会自动更新。