有趣的编程思路
早上在學習jsp標簽的時候,一段java代碼把我難住了,沒辦法,我的代碼能力確實不厲害,再者java也沒系統的學過,也不怕高手朋友笑話,寫出來的目的也就是圖個樂子。
java代碼:
public void doTag()throws JspException,IOException{
??? ??? JspWriter out=getJspContext().getOut();
??? ??? StringWriter sw=new StringWriter();
??? ??? getJspBody().invoke(sw);
??? ??? String text=sw.toString();
??? ???
??? ??? int len=search.length();
??? ??? int oldIndex=0,newIndex=0;
??? ??? while((newIndex=text.indexOf(search,oldIndex))>=0){
??? ??? ??? if(newIndex<oldIndex){
??? ??? ??? ??? break;
??? ??? ??? }
??? ??? ??? out.print(text.substring(oldIndex, newIndex)+"<br/>");
??? ??? ??? //out.print("PrintLetter:<b><font color='blue'>"+search+"</font></b>");
??? ??? ??? oldIndex=newIndex+len;
??? ??? }//while
??? out.print(text.substring(oldIndex)+"<br/>");
??? }
jsp代碼:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<body>
??? <demo:market search="sh">
??? she sells sea shells on the sea shore!
??? </demo:market>
? </body>
</html>
由于java代碼中直接輸出的內容,所以利用注釋的辦法可以很明白的知道這段代碼完成了什么樣的功能。
所以最終我們知道,程序只是利用了String類下面的兩個方法,一個是indexOf(),即查找所查找的子字符串的位置,另一個是字符串的切割,substring(),把句子中的關鍵字給截取出來,最后再把他們拼到一起。
還有的一點就是substring(0,0)是空字符串。
轉載于:https://blog.51cto.com/q569799421/1192246
總結
- 上一篇: 安装sql server 2008 报错
- 下一篇: 冒泡排序 oj - Google 搜索