第二次作业

本文描述了一名学生在编程作业中遇到的问题,他们尝试用HTML表格替换传统的form标签,导致在向后端show.jsp发送POST请求时出现问题。经过调试,发现table元素无法直接使用form的action属性。解决方案是调整代码,最终成功从输入页面传递并显示用户数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

完成老师布置的作业。

由于想要改变一下代码,就没有按照书本上的代码原封不动,将form换成了table,像让其排版更好看,后来就出现show获取不了input数值的问题。在几番周折之后,得知table是不能用action的,再加以修改就完成了作业。

以下为input.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>
 <form action ="show.jsp"method="post">
	 <table  style="list-style:none; line-height:50px">
   <tr >
        <td style="border:1px solid black;">姓名:</td>
        <td style="border:1px solid black;"><input type="text"name="name"/></td>
   </tr>     
   <tr >
       <td style="border:1px solid black;">性别:</td>
          <td style="border:1px solid black;"><input name="sex" type="radio" value="男"/>男
          <input name="sex" type="radio" value="女"/>女</td>
   </tr>
   <tr >
      <td style="border:1px solid black;">爱好:</td> 
       <td style="width:400px;border:1px solid black;"">
          <input name="like" type="checkbox" value="篮球"/>篮球
          <input name="like" type="checkbox" value="旅游"/>旅游
          <input name="like" type="checkbox" value="音乐"/>音乐
          <input name="like" type="checkbox" value="摄影"/>摄影
        </td>
   </tr>
   <tr>
   <td style="border:1px solid black;">E-mail:</td>
   <td style="border:1px solid black;"><input type="text"name="E-mail"/></td>
   </tr>
   <tr >
   <td style="border:1px solid black;"></td>
   <td style="border:1px solid black;"><input type="submit" value="Submit"><input type="reset" value="全部重写"></td>
   </tr>
   </table>
   </form>
</body>
</html>

input.jsp运行效果

以下为show.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>
<table style="list-style:none; line-height:50px">
    <caption>用户输入的信息</caption>
    <tr>
        <td style="border:1px solid black;">姓名</td>
        <td style="border:1px solid black;">
        <%=new String(request.getParameter("name").getBytes("ISO8859_1"),"UTF-8")%>
        </td>
    </tr>
    <tr>
        <td style="border:1px solid black;">性别</td>
        <td style="border:1px solid black;">
        <%=new String(request.getParameter("sex").getBytes("ISO8859_1"),"UTF-8")%>
        </td>
    </tr>
    <tr>
        <td style="border:1px solid black;">爱好</td>
        <td style="border:1px solid black;">
        <%
         String like[]=request.getParameterValues("like");
         for(int i=0;i<like.length;i++){
        %>
        <%=new String(like[i].getBytes("ISO8859_1"),"UTF-8")%>
        <%	 
         }
       %>
        </td>
    </tr>
    <tr>
        <td style="border:1px solid black;">E-mail</td>
        <td style="border:1px solid black;">
        <%=new String(request.getParameter("E-mail").getBytes("ISO8859_1"),"UTF-8")%>
        </td>
    </tr>
  </table>
  </form>
</body>
</html>

show.jsp运行效果:

 

Python 第二次作业中涉及了多个知识点,包括基础的循环结构、数学问题的编程实现,以及函数的应用等。以下是对部分作业内容和解答的详细说明: 1. **斐波那契数列的打印** 作业中有一个题目要求使用 `for` 循环来打印斐波那契数列的前 10 项。初始值为 `a, b = 0, 1`,并且循环执行 10 次,每次打印当前的 `a` 值。正确的代码片段如下: ```python a, b = 0, 1 for _ in range(10): print(a, end=' ') a, b = b, a + b ``` 上述代码中的关键部分是 `a, b = b, a + b`,这一行代码负责更新斐波那契数列的两个相邻值。通过这种方式,可以高效地生成斐波那契数列[^1]。 2. **高次方程求根** 另一个作业题目涉及求解一个五次方程的根。题目提供了一个函数 `f(x)`,其定义为 $ f(x) = x^5 - 15x^4 + 85x^3 - 225x^2 + 274x - 121 $。为了求解该方程在区间 [1.5, 2.4] 内的根,采用了二分法。具体实现如下: ```python def f(x): return x**5 - 15*x**4 + 85*x**3 - 225*x**2 + 274*x - 121 l, r = 1.5, 2.4 k = 0 while k < 20: mid = (l + r) / 2 x = f(mid) if x > 0: l = mid else: r = mid k += 1 print(round(mid, 6)) ``` 在这段代码中,`while` 循环执行了 20 次,每次通过计算中间值 `mid` 来判断根的位置,并逐步缩小搜索范围。最终输出的 `mid` 是近似解,保留了 6 位小数[^2]。 3. **两数之和的查找** 作业还包含了一个经典的算法问题——两数之和。题目要求找到数组中两个数的下标,使得它们的和等于给定的目标值 `target`。该问题可以通过哈希表(字典)来高效解决。具体实现如下: ```python def twoSum(nums, target): dict_ = {} for i in range(len(nums)): m = nums[i] if target - m in dict_: return (dict_[target - m], i) dict_[m] = i nums = [3, 4, 9, 7, 10] target = 11 res = twoSum(nums, target) print(res) ``` 上述代码中,`twoSum` 函数通过遍历数组并使用字典记录已遍历的数值及其下标,从而在后续查找中快速判断是否存在满足条件的配对。最终输出的结果是 `(0, 1)`,表示数组中索引为 0 和 1 的两个数之和等于目标值 11[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值