java web通过表单提交数组,对数组进行处理

java web通过表单提交数组,对数组进行处理

1.创建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>数组处理</title>
</head>
<body>
<p>数字提交</p>
<hr>
<form action="a06c.jsp" method="post">
<table>
<tr><td>提交数组:</td><td><input name="number1"></td></tr>
<tr><td><input type="submit" value="提交"></td><td><input type="reset" value="取消"></td></tr>
</table>
</form>
</body>
</html>

2.创建Javabean的包,对数组进行处理(Javabean可有可无,因为最近在学,所以就用了),求数组的平均值并显示数组中大于平均值的值

package no1;

public class a06a {
private double a[];
private double b;
public a06a(double[] a) {
	super();
	this.a = a;
}

public a06a() {
	super();
	// TODO Auto-generated constructor stub
}

public double[] getA() {
	return a;
}

public void setA(double[] a) {
	this.a = a;
}
public double average()
{
	double sum=0;
	for(int i=0;i<a.length;i++)
	{
		sum+=a[i];
	}
	b=sum/a.length;
	return b;
}
public String show()
{
	String s="";
	for(int i=0;i<a.length;i++)
	{
		if(a[i]>=b)
			s=s+" "+a[i];
	}
	return s;
}
}

3.创建jsp文件,进行数据的接收和显示

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@page import="no1.a06a" %>
<!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>数组处理</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String a=request.getParameter("number1");
String[] aa=a.split("\\s+");
/*
首先要明白split方法的参数含义:根据给定的正则表达式的匹配来拆分此字符串。 

然后就要明确正则表达式的含义了:\\s表示   空格,回车,换行等空白符,+号表示一个或多个的意思.
*/
double[] aaa=new double[aa.length];
for(int i=0;i<aa.length;i++)
{
	aaa[i]=Double.parseDouble(aa[i]);
}
a06a ab=new a06a(aaa);
out.println(ab.average()+"<br>"+ab.show());
%>
</body>
</html>

输入示例:2.1 4.1;

输出示例:3.1(理论值) 3.0999999999999996(实际值)(原因为java对double型和float型数据进行运算时会有误差)

                  4.1

输入示例:1.2 3.2;

输出示例:2.2

                  3.2

(注:如果字符串中所求的数是整型,可以将Javabean文件中的double型数组改为int型数组,第三步中double型数据转换改为int型数据转换。)

猜你喜欢

转载自blog.csdn.net/qq_43238335/article/details/105849324