私は他のすべてのアプリケーションでループしていますが、これはうまく動作しません。ブールループは偽を設定しません
public void loanBook() {
boolean loop3 = true;
System.out.println("So you wanna loan a book? Excellent choice.");
while (loop3) {
for (int i=0; i<books.size(); i++) {
System.out.println("Search for the book you're looking for: ");
String book = in.nextLine();
if (books.get(i).toString().contains(book) == true) {
System.out.println("Looking for: " + books.get(i).toString() + "?");
System.out.println("press y to loan book or n to try again");
String choice1 = in.next();
if (choice1.equalsIgnoreCase("y")) {
for (int j=0; j<customers.size(); j++) {
if (customers.get(j).getSignedIn() == true) {
customers.get(j).booksLoaned.add(books.get(i));
Timer.delayFunction();
System.out.println(customers.get(j).printBookList());
System.out.println("Returning to main menu");
----> loop3 = false; doesnt work for some reason
}
}
}
}
}
System.out.println("Couldnt find book");
}
}
私はfalseに設定してもループ3を繰り返し続けます。後でメインメニューに戻りますが、それはもうありません。
問題を特定しようとしましたが、問題はありませんでした。私は1時間のコードを見てきました。私は何の問題も見つけられません。誰かが手がかりを得た?
働い孤立問題:
public void loanBook() {
boolean loop = true;
while (loop) {
System.out.println("lol");
-----> loop = false; works fine
}
System.out.println("lol");
}
私のシステムのうちプリントはので、私はそれが正しく私のループを通じて取得します知っているうまく動作します。
これをfalseに設定するとtrueですが、whileループを終了するまで両方のループを通過するまで待つ必要があります。一度それをfalseに設定すると、 'break;することができますforループ – XtremeBaumer
は、forループよりも顧客のインデックスに簡単にアクセスできますか?多くのループが一つのメソッドを追加するだけです。 – ITGuru
メソッドのパラメータとして現在の顧客を渡すことができます – XtremeBaumer