我有一個包含書籍的數組列表。我試圖做的(出於各種原因)是使用While循環來繼續添加圖書到我的數組列表,直到我告訴程序停止。爲了讓它停下來,我正在使用掃描儀詢問用戶是否應該添加另一本書。如果用戶說是,那麼該方法會重複,否則,該方法將停止。使用While循環添加到數組列表
不幸的是,我被困在2個領域(現在)。首先,我不知道如何將決定進入方法,我想:
while(decision.equals("Yes"){addBooks(anyTitle,anyAuthor);},
然而,這只是似乎錯了,因爲它進入一個循環(而我想要的),但它會導致2個問題:一)即使我輸入其他東西,該方法也不會結束(除非我使用另一個掃描器幷包含一箇中斷),並且B)將相同的輸入字段反覆插入數組列表中,而不會給我一個輸入的機會新的字符串。
/**
* Method to add a single book
*/
public void setOneBook(String anyTitle, String anyAuthor){
bookList.add (new Book(anyTitle,anyAuthor));
}
/**
* Method to add books to collection until the command to stop is given.
*/
public void addBooks(String anyTitle, String anyAuthor){
bookList.add (new Book(anyTitle,anyAuthor));
System.out.println("Would you like to add another book?");
String decision = keybd.next();
}
我現在感覺很蠢,所以請保留任何諷刺評論給自己。
雖然這樣,但我會亂搞我的代碼,所以如果有任何改變(好或壞),我會更新我的文章。
的'decision'聲明裏面'addBooks()'是不一樣的變量作爲一個控制你的循環,因爲在Java [一切都通過值傳遞](http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value)。 – azurefrog 2015-02-24 03:29:36
你想要做的事聽起來非常類似於我提出的[這裏](http://stackoverflow.com/a/28575639/3558960)。 – 2015-02-24 03:52:15