在程序开发的过程中,我们经常需要获得字符串的实际长度。
然后根据字符串的长度值来操作字符串。
下面是如何获得字符串长度的实例:
1.编写javabean类:
StringUtil.java
package exa127;
public class StringUtil {
private String str;//需要计算的字符串
private int strLength;//存储字符串长度的变量
public String getStr()
{
return str;
}
public void setStr(String str)
{
this.str=str;
}
/*次方法的功能是计算字符串长度(中英文都适用)
* 返回值:字符串str的长度
*/
public int getStrLength()
{
char []c=str.toCharArray();//将str转换为字符数组
int factualLength=0;//长度中间量
for(int i=0;i<c.length;i++)
{
factualLength=String.valueOf(c[i]).getBytes().length;//获得字节数组的长度
if(factualLength==3)//当程序编码为utf-8时,汉字实际长度为3
{
factualLength=2;//将其更正为2
}
strLength+=factualLength;//将每个字符的长度累加
}
return strLength;
}
public void setStrLength(int strLength)
{
this.strLength=strLength;
}
}
2.获取信息的表单:
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="getlength.jsp" method="post">
<table>
<tr height="35">
<td align="center">请输入字符串</td>
<td>
<input type="text" name="str"/>
</td>
<td align="center">
<input type="submit" value="提交"/>
</td>
</tr>
</table>
</form>
</body>
</html>
3.得到信息的表单:
getlength.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String str=request.getParameter("str");
%>
<jsp:useBean id="strBean" class="exa127.StringUtil"></jsp:useBean>
<jsp:setProperty property="str" name="strBean" value="<%=str %>"/>
<table>
<tr>
<td>字符串:</td>
<td align="left"><jsp:getProperty property="str" name="strBean"/></td>
</tr>
<tr>
<td>实际长度:</td>
<td align="left"><jsp:getProperty property="strLength" name="strBean"/></td>
</tr>
</table>
</body>
</html>
结果: