我有如下所示創建多個整數對象到鏈表一類:Java的多臺掃描儀
public class Shares<E> implements Queue<E> {
protected LinkedList<E> L;
public Shares() {
L = new LinkedList<E>();
}
public boolean add(E price) {
System.out.println("How many of these shares would you like?");
Scanner scanInt;
scanInt = new Scanner(System.in);
Integer noShares = scanInt.nextInt();
for (int i = 0; i < noShares; i++) {
L.addLast(price);
}
scanInt.close();
return true;
}
我有掃描從控制檯輸入「添加」,如果發現了一個應用程序調用添加方法如下圖所示:
public class Application {
private static Scanner scan;
public static <E> void main(String[] args) {
Queue<Integer> S = new Shares<Integer>();
scan = new Scanner(System.in);
System.out.println("Please type add");
String sentence = scan.nextLine();
while (sentence.equals("quit") == false) {
if (sentence.equals("add")) {
System.out
.println("What price would you like to buy your shares at?");
S.add((Integer) scan.nextInt());
} else
System.exit(0);
sentence = scan.nextLine();
}
}
}
的appliation應該允許用戶輸入他們的願望,但錯誤「沒有行發現」,「添加」多次後出現add方法已被調用。
我猜這是因爲該方法中的掃描儀尚未關閉,然後在需要時重新打開。這是什麼錯誤的程序,如果是的話,我將如何去解決它?
請注意這個程序沒有完成,因爲我將添加銷售這些股票的銷售方法,這就是爲什麼我使用while循環的原因。
在S.add中,您可能會遇到與調用掃描器相關的問題? –