问答详情
源自:2-12 阶段项目

为什么把String s="";放到函数外面会产生两个乘法表

<%!

  String s="";

  String PrintMultiplicationTable()

  {

  for(int i=1;i<=9;i++)

  {

  for(int j=1;j<=i;j++)

  {

  s+=i+"*"+j+"="+i*j+"&nbsp;&nbsp;&nbsp;";

  }

  s+="<br>";

  }

  return s;

  }

   %>


提问者:这个人懒死了名字也没有 2017-05-14 12:15

个回答

  • qq_下个瞬间_03247970
    2017-05-31 22:53:28

    网上查了一下是局部变量和全局变量的问题

  • qq_下个瞬间_03247970
    2017-05-31 21:47:09

    我的理解是,你把那个String s 放到外面以后,每刷新一次那个方法就会执行一次,并且赋值给s,等于String s多开辟出了一个空间,所以就会多出一个来,而你放到里面,每次刷新都是执行同样的方法,没有给变量s开辟新的空间,所以保持不变,不知道对不对

  • qq_逆时针_1
    2017-05-17 13:30:46

    同问。。

  • 太阳_50
    2017-05-14 14:53:39


    这是个定义方法

    String s="";

      String PrintMultiplicationTable()

      {

      for(int i=1;i<=9;i++)

      {

      for(int j=1;j<=i;j++)

      {

      s+=i+"*"+j+"="+i*j+"&nbsp;&nbsp;&nbsp;";

      }

      s+="<br>";

      }

      return s;

      }


    老师实现了俩次这个方法,所以出来俩个表;你仔细看看视屏