2016-04-02 148 views
-1

我試圖使嵌套的星形網格,而循環。在JavaScript中嵌套while循環

它與工作爲循環:

for(m = 1; m <= 5; m++) { 
    for(n = 1;n <= 10; n++) { 
     document.write("*" + " "); 
    } 
    document.write("<br>"); 
} 

,但我想不通我怎麼可以用while循環解決這個問題:

while(m <= 5) { 
    while(n <= 10) { 
     document.write("*" + " "); 
     n++; 
    } 
    document.write("<br>"); 
    m++; 
} 

沒有人有任何想法?

Thnx

+1

好吧,你聲明並初始化'N'和'隨時隨地M'? – Siguza

回答

1

您錯過了初始值設定項。 m需要啓動和1,n需要重新啓動1每次m遞增。

var m, n; 
m = 1; 
while(m <= 5) { 
    n = 1; 
    while(n <= 10) { 
     document.write("*" + " "); 
     n++; 
    } 
    document.write("<br>"); 
    m++; 
} 
+0

是的,我忘了發佈初始化程序:p 但我不知道我必須重新啓動n。 非常感謝! – user3593591

0

問題是你不重置n變量,所以每次它是10,因此不進入while循環。你需要做的:

var m = 0, 
 
    n = 0, 
 
    div = document.getElementById('draw'); 
 

 
function writeToDiv(stringToWrite) { 
 
    div.innerHTML = div.innerHTML + stringToWrite; 
 
} 
 

 
while (m <= 5) { 
 
    while (n <= 10) { 
 
    writeToDiv("*" + " "); 
 
    n++; 
 
    } 
 
    n = 0; 
 
    writeToDiv("<br>"); 
 
    m++; 
 
}
<div id="draw"> 
 

 
</div>

+0

無需在外循環兩端重置「n」兩次 – charlietfl