public class Test { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
int x=0;
for(int i=1;i<=4;i++){
x=4;
for(int j=1;j<=3;j++){
x=3;
for(int k=1;k<=2;k++){
x=x+6;
}
}
}
System.out.println(x);
请具体分析求解过程
}}

解决方案 »

  1.   

    最外层循环每次初始化x=4,次外层循环每次初始化x=3,最内层循环计算x的值。
    所以这段程序就相当于没有最外次循环,次外层循环只有一次,即:x=3; 
    for(int k=1;k <=2;k++){ 
    x=x+6; 
    } 至于为什么等于15,楼主自己分析吧。
      

  2.   

    最外层循环每次初始化x=4,次外层循环每次初始化x=3,最内层循环计算x的值。
    所以这段程序就相当于没有最外次循环,次外层循环只有一次,即:x=3; 
    for(int k=1;k <=2;k++){ 
    x=x+6; 
    } 至于为什么等于15,楼主自己分析吧。
      

  3.   

    在K的循环外,x被赋处置了。所以不管i,j循环多少次,真正起作用的也就是
    x=3;
    for (int k.....)
    所以,结果就是15.
    楼上的不用担心,不会扣分的,呵呵
      

  4.   

    这太简单了
    这段代码就相当于
    x=3; 
    for(int k=1;k <=2;k++){ 
       x=x+6;
    }
                       
      

  5.   

      这样也等于15,LZ再试着想想看,能不能明白public class Test1 { 
    public static void main(String[] args) { 
      int x=0;
    for(int i=1;i <=4;i++){ 
    //x=4; 
    for(int j=1;j <=3;j++){ 
    x=3; 
    for(int k=1;k <=2;k++){ 
    x=x+6; 



    System.out.println(x);
    } }
      

  6.   

    x=3; 
    for(int k=1;k <=2;k++){ 
    x=x+6;K=1时:
    x=x+6  ->x=3+6 (这时x=9)K=2时:
    x=x+6  ->x=9+6
      

  7.   

    最外层的for循环由于有一个x=4;在那里,所以每次跳到这层循环的时候x都被重新赋值为4;
    同理,次外层的for循环有一个x=3;所以每次x都被重新赋值为3;
    因此,原程序中的3层for循环部分等价为如下:
    //当原程序的i=4;j=3;时候
    x=3;
    for(int k=1;k<=2;k++)
    {x=x+6;}由此可知,x=3;当k=1 时执行一次x=x+6;得到x=9;当k=2 时又执行一次x=x+6; 得到x=15;如果楼主还不清楚整个过程的话,建议调试一下该程序,用单步调试,就可以很清晰的看到x的值是怎么变化的了..
      

  8.   

    x=3; 
    for(int k=1;k <=2;k++){ 
    x=x+6; K=1时: 
    x=x+6  ->x=3+6 (这时x=9) K=2时: 
    x=x+6  ->x=9+6 
      

  9.   

    最外层循环每次初始化x=4,次外层循环每次初始化x=3,最内层循环计算x的值。 
    所以这段程序就相当于没有最外次循环,次外层循环只有一次,即: x=3; 
    for(int k=1;k <=2;k++){ 
    x=x+6; 
    } k=1: x = 9
    k=2: x=15结果当然是15
      

  10.   

    楼主拿这段去运行一下!
       就可以看出为什么了!public class TestMethod {
    public static void main(String[] args) {
    //  TODO Auto-generated method stub
    int x=0;
    for(int i=1;i <=4;i++){
    x=4;
    for(int j=1;j <=3;j++){
    x=3;
    for(int k=1;k <=2;k++){
    x=x+6;
    System.out.println(k+"次"+x);
    }
    }
    }
    System.out.println(x);
    //请具体分析求解过程
    } }
      

  11.   

    x=3; 
    for(int k=1;k <=2;k++){ 
    x=x+6; 

    其实就这点代码
    k=1
    x=3+6=9
    k=2
    x=9+6=15