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

来源:2-12 阶段项目

这个人懒死了名字也没有

2017-05-14 12:15

<%!

  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回答

  • 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;

      }


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

    这个人懒死了...

    我是说不用脚本方式的时候也输出了两个乘法表,不信你试试我的代码,把String s="";放到类外面

    2017-05-14 15:35:59

    共 2 条回复 >

JAVA遇见HTML——JSP篇

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

248278 学习 · 3071 问题

查看课程

相似问题