このコードをコンパイルしようとするとうまくいきますが、メソッドをテストしたいとき、最初のメソッドはうまくいきますが、2 番目のメソッドは null に等しい例外エラー ポインターをスローしますscanner = null;
。scanner = new Scanner(System.in);
毎回新しいスキャナーを作成せずにこの問題を解決する
public class Sca extends input
{
private Scanner scanner;
private String userInput;
public ArrayShoppingList11()
{
super();
scanner = new Scanner(System.in);
}
protected void addCar()
{
System.out.println("Please enter the name of the Car to be added");
userInput = scanner.nextLine();
super.add(userInput);
setScanner();
}
protected int getPosition()
{
System.out.println("Please enter the name of the car");
userInput = scanner.nextLine();
int z = super.indexOf(userInput);
System.out.println("The position of " + userInput + "is: " + z); // used for the main class Testing purposes
setScanner();
return z;
}
private void setScanner()
{
if(scanner != null)
{
scanner = null;
}
}
}
パブリック クラス メイン {
public static void main(String[] args) {
ArrayShoppingList1 a = new ArrayShoppingList1();
a .printList();
a.addCar();
a .getPosition();// returning the position of an item using name of the item
a .checkEmpty();
a.additem();
a .printList();
a .removeItem();// removing the item using the index of the item
}
}