实现顺序栈的基本操作。 1.initStack(S):栈S的初始化; 2.isEmpty(S):判断S是否栈空; (测试时,将栈清空,然后再删除,看是否有异常处理机制) 3.isFulI(S):判断S是否栈满; (测试时,将栈清空,然后再入栈,看是否有异常处理机制) 4. getTop(S):取栈顶元素,并返回该元素; 5. Push(S,x):将值为x的元素入栈; 6. Pop(S):出栈,并返回出栈的元素; 7. printStack(S):打印所有栈元素。
时间: 2024-02-13 15:02:12 浏览: 28
8. 创建StudentController.java控制器
在src/main/java/com/jr/controller目录下创建StudentController.java控制器,并添加以下内容:
```java
package com.jr.controller;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jr.domain.Student;
import com.jr.domain.StudentService;
@WebServlet("/student/*")
public class StudentController extends HttpServlet {
private static final long serialVersionUID = 1L;
@Autowired
private StudentService studentService;
@Override
public void init() throws ServletException {
super.init();
SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this, getServletContext());
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String path = request.getPathInfo();
if (path == null || path.equals("/list")) {
String sNum = request.getParameter("sNum");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
int currentPage = Integer.parseInt(request.getParameter("currentPage"));
List<Student> studentList = studentService.getStudentList(sNum, name, gender, currentPage);
int totalCount = studentService.getTotalCount(sNum, name, gender);
int totalPage = (totalCount % 10 == 0) ? (totalCount / 10) : (totalCount / 10 + 1);
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("studentList", studentList);
resultMap.put("totalCount", totalCount);
resultMap.put("totalPage", totalPage);
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(resultMap);
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(json);
} else if (path.equals("/add")) {
String sNum = request.getParameter("sNum");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
String tel = request.getParameter("tel");
Student student = new Student();
student.setsNum(sNum);
student.setName(name);
student.setGender(gender);
student.setAge(age);
student.setTel(tel);
studentService.addStudent(student);
response.sendRedirect(request.getContextPath() + "/index.jsp");
} else if (path.equals("/update")) {
int studentID = Integer.parseInt(request.getParameter("studentID"));
String sNum = request.getParameter("sNum");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
String tel = request.getParameter("tel");
Student student = new Student();
student.setStudentID(studentID);
student.setsNum(sNum);
student.setName(name);
student.setGender(gender);
student.setAge(age);
student.setTel(tel);
studentService.updateStudent(student);
response.sendRedirect(request.getContextPath() + "/index.jsp");
} else if (path.equals("/delete")) {
int studentID = Integer.parseInt(request.getParameter("studentID"));
studentService.deleteStudent(studentID);
response.sendRedirect(request.getContextPath()好的,以下是实现顺序栈的基本操作的代码:
```python
class Stack:
def __init__(self + "/index.jsp");
}
}
}
```
9. 创建index.jsp页面
在src/main/webapp目录下创建, size):
self.size = size
self.stack = [None] * size
self.top = -1
def isEmptyindex.jsp页面,并添加以下内容:
```html
<%@page contentType="text/html;charset=UTF-8" language="java"%>
(self):
return self.top == -1
def isFull(self):
return self.top == self.size - 1
def<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
getTop(self):
if self.isEmpty():
raise Exception("Stack is empty.")
return self.stack[self.top]
def push(self, x):
if self.isFull():
raise Exception("Stack is full.")
self.top += 1
self.stack[self.top]<head>
<meta charset="UTF-8">
<title>JavaWebProject</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery = x
def pop(self):
if self.isEmpty():
raise Exception("Stack is empty.")
x = self.stack[self.top]
/3.6.0/jquery.min.js"></script>
<style>
table, th, td {
border: 1px solid black self.top -= 1
return x
def printStack(self):
if self.isEmpty():
print("Stack is empty.")
;
border-collapse: collapse;
text-align: center;
padding: 5px;
}
.pagination {
display else:
print("Stack elements are:")
for i in range(self.top, -1, -1):
print(self.stack[i: inline-block;
}
.pagination a {
color: black;
float: left;
padding: 8px 16])
```
在上述代码中,我们定义了一个`Stack`类,包含了栈的基本操作函数。`px;
text-decoration: none;
border: 1px solid #ddd;
}
.pagination a.active {
background__init__`函数初始化栈,`isEmpty`函数判断栈是否为空,`isFull`函数判断栈是否已满,`-color: #4CAF50;
color: white;
border: 1px solid #4CAF50;
}
.paginationgetTop`函数获取栈顶元素,`push`函数将元素入栈,`pop`函数将元素出栈 a:hover:not(.active) {background-color: #ddd;}
.add-form, .update-form {
display: none;
position并返回,`printStack`函数打印栈中的所有元素。