2013-03-14 95 views
0

我想在JavaScript中输出这样的内容。在JavaScript中打印二维

* 
** 
*** 
**** 
***** 

我想

<script type="text/javascript" language="javascript"> 
var i ,j ; 

for(i=1;i<=6;i++){ 
    for(j=1;j<=6;j++){ 
    document.write('*');  
    document.write('<br>');  
    } 
    document.write('<br>'); 
} 
</script> 

肯定这个代码不工作,我需要的方式to..I感到困惑的我怎么能在我要求的方式打印* ...

+0

新线路为 “
” – QuentinUK 2013-03-14 22:37:35

+2

看多久你的内循环运行。看看你在哪里打印换行符。再想一想。 – 2013-03-14 22:38:17

回答

2

变化内环到

for (j=1; j<=i; j++) { 
      ^--- the important bit 
    document.write('*'); 
} 
document.write('<br>'); 

这样内环的打印速度可以i价值的*字符,并且外部循环负责在您完成6行时停止事情。例如

i | j  | printed 
------------------- 
1 | 1  | * 
2 | 1,2 | ** 
3 | 1,2,3 | *** 
etc... 
+0

毫无疑问,它工作正常,更像CS101 – 2013-03-14 22:46:46

2

你只需要一个循环:

function writeStars(n) { 
    var m = '', 
     t = []; 

    for (var i=0; i<n; i++) { 
     m += '*'; 
     t.push(m); 
    } 
    return t.join('<br>') + '<br>'; 
} 

document.write(writeStars(6)); 
+0

完美的作品...但它更像CS201,我只记得那些日子,我记得老师做了这个例子,但现在,我无法做到这一点,谢谢 – 2013-03-14 22:44:03

+0

如何你这样做可能取决于本课的目的是教授嵌套循环还是替代逻辑。 ;-) – RobG 2013-03-14 23:58:36

+0

是真实的,我没有想到嵌​​套循环或替代逻辑,几年前,当我尝试创建这个例子时,我记起了我的大学生活,thanka指导 – 2013-03-15 00:10:23