我的問題是: 當我試圖調用方法newFile.createYear();從菜單中的端口打印打印錯誤:從菜單類中的開關調用方法時線程「主」中的異常
Exception in thread "main" java.lang.NullPointerException
at com.register.file.CreateFile.showYears(CreateFile.java:140)
at com.register.file.CreateFile.createYear(CreateFile.java:30)
at com.register.main.Menu.registers(Menu.java:30)
at com.register.main.Menu.menu(Menu.java:132)
at com.register.main.Main.main(Main.java:14)
當我在eclipse中運行程序時,不會發生問題。我正在通過在終端中輸入java com.register.main.Main
來運行程序。
此外,當我試圖返回上一級菜單,調用一個方法,(即使是在Eclipse)後:
的代碼從開關的一部分:
switch (selection) {
case 1:
//method that clearing terminal (I can't find anything better :()
newClear.clearConsole();
//method that work only in eclipse, not terminal
newFile.createYear();
//name of current menu (back option) - doesn't work
registers();
break;
> Exception in thread "main" java.util.NoSuchElementException at
> java.util.Scanner.throwFor(Unknown Source) at
> java.util.Scanner.next(Unknown Source) at
> java.util.Scanner.nextInt(Unknown Source) at
> java.util.Scanner.nextInt(Unknown Source) at
> com.register.main.Menu.registers(Menu.java:24) at
> com.register.main.Menu.registers(Menu.java:31) at
> com.register.main.Menu.menu(Menu.java:134) at
> com.register.main.Main.main(Main.java:14)
https://github.com/JakubKacperski/Register
因此,在初始化它之前,您有一個對象調用實例成員(方法),然後您對不存在的變量調用實例成員(方法)。 – Stultuske
任何想法如何解決它?我真的很熟悉Java,因爲你可以看到;) –
實例化變量,並在調用它時使用正確的變量名稱 – Stultuske