有时,当我运行我的应用程序时,它会给我一个错误,如下所示:
Exception in thread "main" java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
Run Code Online (Sandbox Code Playgroud)
人们将此称为"堆栈跟踪".什么是堆栈跟踪?有什么能告诉我程序中发生的错误?
关于这个问题 - 我经常看到一个问题,一个新手程序员"得到一个错误",他们只是粘贴他们的堆栈跟踪和一些随机的代码块,而不了解堆栈跟踪是什么或如何使用它.这个问题旨在作为新手程序员的参考,他们可能需要帮助来理解堆栈跟踪的价值.
目前我正在努力解决一个小问题,我猜。执行我的主要方法时,我收到一个计算器溢出错误。这是因为 Artist 类在 Language 类中创建了一个实例来访问来自 Artist 类(方法)的一些参数。您对我如何根据当前设置设置构造有任何建议吗?
有五个类相互交互:
第一类是带有主要方法的概览类。她应该创建我的控件类的一个实例并执行方法 control.displayArtist(salary, name):
public class Overview {
private static Control control;
private static String name;
private static int salary;
public static void main (String[]args) {
control = new Control();
control.displayArtist(salary, name);
}
}
Run Code Online (Sandbox Code Playgroud)
第二个类是 Control 类。类 Control 创建类 Language 的实例,并由方法 displayArtist(int salary, String name) 组成。这个方法是在Overview类的main方法中直接调用的:
public class Control {
private Language language;
public Control() {
language = new Language();
}
public void displayArtist(int salary, String name) {
language.displayArtistAndSalary(name, salary);
}
}
Run Code Online (Sandbox Code Playgroud)
Language …