<html>
<head>
<title>DIsplaying triangle /square</title>
<script type="text/javascript">
document.write("<html><body><p style='line-height:100%;>");
var sides=prompt("Enter the number of sides","3/4");
if(sides==4)
{
var i=0;
var j=0;
var z=0;
while(i<=6)
{
if(i==0||i==6)
{
while(j<=6)
{
document.write("*");
document.write("<span style='visibility:hidden'>*</span>");
++j;
}
j=0;
document.write("<br\>");
}
else
{
while(z<=6)
{
if(z==0||z==6)
{
document.write("*");
document.write("<span style='visibility:hidden'>*</span>");
}
else
{
document.write("<span style='visibility:hidden'>*</span>");
document.write("<span style='visibility:hidden'>*</span>");
}
++z;
}
z=0;
document.write("<br\>");
}
++i;
}
document.write("</p></body></html>");
}
else
{
var i=0;
}
</script>
</head>
</html>
4
プロンプトボックスに入力したときの出力は次のようになります。
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
(完全な正方形と考えてください。ここに描くのは難しいです。)
しかし、私は得る:
** * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
最初の行を見てください。最初の 2 つの「*」が一緒になっています。コードによると、それは発生しないはずです。その部分で何かがうまくいかないdocument.write("*")
。私が発見したことを使用してデバッグを試みたときalert
、最初の時間 (つまり、i=0 のとき) は最初のものdocument.write("*")
が無視されることがわかりました。しかし、それは考慮されます。