腳本函數(shù)奇怪的運(yùn)行結(jié)果
<%@?page?import="java.util.*"?contentType="text/html;charset=UTF-8"?language="java"???%> <html> ??<head> ????<title>title</title> ??</head> ??<body> ??<h1>九九乘法表</h1> ??<%! ??????int?n=0; ??????String?s=""; ??????String?prtable(){ ??????????n++; ??????????if?(n==2){ ??????????????return?"第二次運(yùn)行程序"; ??????????} ??????????for?(int?i=1;i<10;i++){ ??????????????for(int?j=1;j<=i;j++){ ??????????????????s=s+i+"*"+j+"="+i*j+"  "; ??????????????} ??????????????s+="<br/>\n"; ??????????} ??????????return?s; ??????} ??????void?prtable2(JspWriter?out)throws?Exception?{ ??????????for?(int?i?=?1;?i?<?10;?i++)?{ ??????????????for?(int?j?=?1;?j?<=?i;?j++)?{ ??????????????????out.println(+i?+?"*"?+?j?+?"="?+?i?*?j?+?"  "); ??????????????} ??????????????out.println("<br/>"); ??????????} ??????????out.println("<hr>"+n); ??????} ??%> ??<hr/> ??????<%=prtable()%> ??<hr/> ??<% ??????prtable2(out); ??%> ??</body> </html>
是不是因?yàn)楹瘮?shù)運(yùn)行了兩次?如果是,第一次是何時(shí)運(yùn)行的?或者是其他的什么原因?
2017-08-22
全局變量沒刷新一次網(wǎng)頁n加1,因?yàn)槟闼⑿铝艘淮嗡允沁\(yùn)行了第二次,你試試關(guān)閉了瀏覽器重新開就是第一次了
2017-12-04
因?yàn)槟愕暮瘮?shù)定義為String類,需要返回一個(gè)String類對(duì)象,當(dāng)n==2時(shí),return "第二次運(yùn)行程序";即返回了一個(gè)String對(duì)象,函數(shù)結(jié)束運(yùn)行。不執(zhí)行下面的代碼,故只打印輸出字符串"第二次運(yùn)行程序";當(dāng)刷新第三次時(shí),第一個(gè)函數(shù)prtable()的s即為兩個(gè)九九乘法表,刷新第四次時(shí),第一個(gè)函數(shù)prtable()的s即為三個(gè)九九乘法表;依次類推;