为了账号安全,请及时绑定邮箱和手机立即绑定

为什么把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;

  }

   %>


正在回答

4 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

同问。。

1 回复 有任何疑惑可以回复我~


这是个定义方法

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;

  }


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

0 回复 有任何疑惑可以回复我~
#1

这个人懒死了名字也没有 提问者

不懂,老师只实现了一次啊<%=PrintMultiplicationTable()%>
2017-05-14 回复 有任何疑惑可以回复我~
#2

这个人懒死了名字也没有 提问者

我是说不用脚本方式的时候也输出了两个乘法表,不信你试试我的代码,把String s="";放到类外面
2017-05-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信