二、实验项目内容(实验题目)
编写代码,通过request获取form表单中提交的数据。【参考课本4.6.1 实验1 196算法之谜】
三、源代码以及执行结果截图:
inputNumber.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<style>
#tomStyle{
font-family:宋体;font-size:36;color:blue
}
</style>
<body id=tomStyle bgcolor =#ffccff>
<form action="huiwenNumber.jsp" method="post" name="form">
输入一个正整数:<br>
<input type="text" name="number" id="tomStyle" size=16 value=520 />
<br>
<input type="submit" id="tomStyle" value="提交" />
</form>
</body>
</html>
huiwenNumber.jsp
<%@page import="org.apache.coyote.Request"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import ="java.math.BigInteger" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body bgcolor =cyan>
<p style="font-family:宋体;font -size:26;color:black">
<%!
public static String reverse(String s){
StringBuffer buffer = new StringBuffer(s);
StringBuffer reverseBuffer = buffer.reverse();
return reverseBuffer.toString();
}
%>
<%
String regex= "[1-9][0-9]*";
String startNumber = request.getParameter("number");
if(startNumber == null || startNumber.length()==0){
startNumber = "520";
}
if(!startNumber.matches(regex)){
response.sendRedirect("inputNumber.jsp");
return;
}
long step= 1;
BigInteger number = new BigInteger(startNumber);
BigInteger reverseNumber = new BigInteger(reverse(number.toString()));
BigInteger resultNumber = number.add(reverseNumber);
out. print("<br>" + number +"+ "+ reverseNumber + "=" + resultNumber);
BigInteger p= new BigInteger (reverse(resultNumber.toString()));
while(!resultNumber. equals(p)) {
number = new BigInteger( resultNumber.toString());
reverseNumber = new BigInteger(reverse(number.toString()));
resultNumber = number. add(reverseNumber) ;
p= new BigInteger( reverse(resultNumber.toString()));
out. print("<br>" + number +"+"+ reverseNumber +"=" +resultNumber) ;
step++;
}
out. print("<br>" + step+ "步得到回文数:"+ resultNumber);
%>
</body>
</html>
效果图
(提示)huiwenNumber.jsp 的 String regex= "[1-9][0-9]*";后面是没有空格的要不然容易出不来结果