簡體   English   中英

if-else語句嵌套在while循環中

[英]if-else statement nested in while-loops

我是Java的初學者。 我不太確定該在哪里適當詢問,並且我想,由於我已經跟蹤Stack Overflow已有一段時間了,所以這可能是一個合適的時間,該時間終於可以在這里注冊帳戶並開始我的資料了。 我正在閱讀的書實際上並沒有任何幫助論壇。

無論如何,我正在閱讀與JS練習相結合的書,我想嘗試結合包含嵌套if..else語句while循環原理。 我的代碼如下:

var teams = ["Chiefs", "Bees", "Tigers", "Bears"];
var i = 0;
while (i < teams.length) {
  if (teams[i] === "Lions") {
    alert(teams[i] + " is at Index " + i + " in the array");
    break;
  } else {
    alert("Query not found!");
    break;
  }
  i++;
}

該練習僅假設使用while的概念, 如果但很顯然出於對編程的好奇心,我想添加else語句,但我無法使代碼正常工作。 我讓代碼正常工作的唯一實例是沒有else語句。

我的主要目標/好奇心是我想提醒“找不到查詢!” 當if語句無法在數組中找到字符串時,在這種情況下,我已編寫了“ Lions”。

提前謝謝你的幫助!

您需要刪除“中斷”; 從else循環。 當找不到“ Tigers”時,該中斷將在第一次迭代(當我為0時)時終止while循環。

break適用於循環構造,而不適用於if / elses。 我猜你以為它將打破/結束else塊,但實際上它打破了while循環。

無需休息,但是您仍然可以在if留下一個以結束循環:

工作實例

 var teams = ["Chiefs", "Bees", "Tigers", "Bears"];
 var i = 0;
 while (i < teams.length) {
  if (teams[i] === "Tigers") {
    alert(teams[i] + " is at Index " + i + " in the array");
    // can still put a break here to stop looping if you want.
  } else {
    if (i === teams.length - 1) {
      alert("Query not found!");
    }
  }
  i++;
}

您可以決定是否在找到某物時找到它。 但是,當您查看完所有內容后,只能決定未找到任何內容,這些內容應該在循環之外。

var teams = ["Chiefs", "Bees", "Tigers", "Bears"];
var i = 0, position = null;
while (i < teams.length) {
  if (teams[i] === "Lions") {
    position = i;
    break;
  }
  i++;
}
if (position !== null) {
  alert(teams[position] + " is at Index " + position + " in the array");
} else {
  alert("Query not found!");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM