2011-03-01 94 views
0
public static void main(String[] args) { 

    int count, innerCount; 
    for(count=0;count<=3;count++) 
    { 
     System.out.println("Count is" + count); 
     for(innerCount=0; innerCount<count;innerCount++) 
      System.out.print("Hi, innerCount is"+ innerCount); 
    } 
} 

} 

输出:
计数IS0理解为嵌套循环

计数IS1

嗨,innerCount is0Count IS2

嗨,innerCount is0Hi,innerCount is1Count IS3

嗨, innerCount是0Hi,innerCount是1Hi,innerCount是2

有人可以解释这个嵌套循环给我,请吗?当Count = 0和1时,它为什么不打印出任何innerCounts?另外如何计数内部计数打印旁边计数?谢谢。

回答

6

当Count = 0和1时,它为什么不打印出任何innerCounts?

它是。当count为0时,内循环从不执行其正文,因为innerCount<count条件从不为真(0<0为false)。当count为1时,当innerCount0(打印“Hi,innerCount为0”)时,内循环执行一次,因为0<1为真。它不会执行第二次,因为1<1是错误的。

此外,如何在count旁边打印countcount?谢谢。

因为您使用的是System.out.print,它不会附加换行符。 System.out.println追加换行符,如果你想使用它。

+0

谢谢,但我还是不明白它是如何第二次跳过内循环的。当Count = 1时。 – user605989 2011-03-01 23:38:05

+0

@user:没有。它输出“你好,innerCount是0”。因为'innerCount'为0且'count'为1时'innerCount 2011-03-01 23:49:42

+0

是的,但为什么不在下一行?当我放入<=它会在它旁边打印出“Hi,innerCount is0”。是的,这更清楚,谢谢。它正在打印当时少于计数的内容。 – user605989 2011-03-01 23:55:14

0

innerCount<count是你的问题

使其< =,你会得到一个打印输出为0

正如有人已经指出的那样,你得到的结果,当计数= 1已经

+0

嗯,这不一定是一个*问题* - 虽然很难说。 :-) – Pointy 2011-03-01 23:26:19

+0

是的,我知道innerCount user605989 2011-03-01 23:29:02

+0

好尖的.... – 2011-03-01 23:29:08

1

它打印出计数= 0和Count = 1首先,因为您在内部循环条件是innerCount <计数故由于两个innerCount跳过所述第一时间和计数= 0

System.out.print不追加换行。改为使用System.out.println