Java+Access综合测评系统源码分享:含论文、开题报告、任务书全套资料

news2025/12/14 16:18:49

JAVA+access综合测评系统毕业设计

一、系统概述

本系统采用Java Swing开发前端界面,结合Access数据库实现数据存储,专为教育机构打造的综合测评解决方案。系统包含学生管理、题库管理、在线测评、成绩分析四大核心模块,实现了测评流程的全自动化。

二、系统架构设计

1. 技术选型

  • 前端:Java Swing
  • 数据库:Access 2016
  • 数据访问:UCanAccess JDBC驱动
  • 开发工具:Eclipse + WindowBuilder

2. 系统架构

采用经典的MVC架构模式:

├── model(数据模型层)
│   ├── Student.java
│   ├── Question.java
│   ├── Exam.java
│   └── Score.java
├── view(视图层)
│   ├── LoginFrame.java
│   ├── MainFrame.java
│   ├── StudentManagerPanel.java
│   └── ExamPanel.java
└── controller(控制层)
    ├── DBController.java
    ├── StudentController.java
    ├── QuestionController.java
    └── ExamController.java

三、核心代码实现

1. 数据库连接模块

import net.ucanaccess.jdbc.UcanaccessDriver;
import java.sql.*;

public class DBController {
    private static final String DB_PATH = "jdbc:ucanaccess://D:/ExamSystem.accdb";
    private Connection conn;

    // 单例模式获取数据库连接
    public static DBController getInstance() {
        return DBControllerHolder.INSTANCE;
    }
    
    private static class DBControllerHolder {
        private static final DBController INSTANCE = new DBController();
    }
    
    private DBController() {
        try {
            Class.forName(UcanaccessDriver.class.getName());
            conn = DriverManager.getConnection(DB_PATH);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    // 执行查询
    public ResultSet executeQuery(String sql) throws SQLException {
        Statement stmt = conn.createStatement();
        return stmt.executeQuery(sql);
    }
    
    // 执行更新
    public int executeUpdate(String sql) throws SQLException {
        Statement stmt = conn.createStatement();
        return stmt.executeUpdate(sql);
    }
}

2. 学生管理模块

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class StudentController {
    private DBController dbController = DBController.getInstance();
    
    // 添加学生
    public boolean addStudent(Student student) {
        String sql = String.format(
            "INSERT INTO Students(student_id, name, gender, class) " +
            "VALUES('%s', '%s', '%s', '%s')",
            student.getStudentId(),
            student.getName(),
            student.getGender(),
            student.getClass()
        );
        try {
            return dbController.executeUpdate(sql) > 0;
        } catch (SQLException e) {
            e.printStackTrace();
            return false;
        }
    }
    
    // 查询所有学生
    public List<Student> getAllStudents() {
        List<Student> students = new ArrayList<>();
        String sql = "SELECT * FROM Students";
        try (ResultSet rs = dbController.executeQuery(sql)) {
            while (rs.next()) {
                Student student = new Student(
                    rs.getString("student_id"),
                    rs.getString("name"),
                    rs.getString("gender"),
                    rs.getString("class")
                );
                students.add(student);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return students;
    }
}

3. 在线测评模块

import java.util.*;

public class ExamController {
    private DBController dbController = DBController.getInstance();
    
    // 生成随机试卷
    public List<Question> generateExamPaper(int questionCount, int categoryId) {
        List<Question> allQuestions = loadQuestionsByCategory(categoryId);
        List<Question> examQuestions = new ArrayList<>();
        
        if (allQuestions.size() <= questionCount) {
            examQuestions.addAll(allQuestions);
        } else {
            Random random = new Random();
            Set<Integer> selected = new HashSet<>();
            while (selected.size() < questionCount) {
                int index = random.nextInt(allQuestions.size());
                if (!selected.contains(index)) {
                    selected.add(index);
                    examQuestions.add(allQuestions.get(index));
                }
            }
        }
        return examQuestions;
    }
    
    // 计算考试成绩
    public int calculateScore(Map<Integer, String> answers, List<Question> questions) {
        int score = 0;
        for (Map.Entry<Integer, String> entry : answers.entrySet()) {
            int questionId = entry.getKey();
            String userAnswer = entry.getValue();
            for (Question question : questions) {
                if (question.getId() == questionId && 
                    question.getAnswer().equalsIgnoreCase(userAnswer)) {
                    score += question.getScore();
                    break;
                }
            }
        }
        return score;
    }
}

4. 成绩分析模块

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class ScoreAnalyzer {
    private DBController dbController = DBController.getInstance();
    
    // 获取班级平均分
    public double getClassAverageScore(String className) {
        String sql = String.format(
            "SELECT AVG(score) as avg_score FROM Scores " +
            "JOIN Students ON Scores.student_id = Students.student_id " +
            "WHERE Students.class = '%s'", className
        );
        try (ResultSet rs = dbController.executeQuery(sql)) {
            if (rs.next()) {
                return rs.getDouble("avg_score");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return 0.0;
    }
    
    // 获取成绩分布
    public Map<String, Integer> getScoreDistribution(String className) {
        Map<String, Integer> distribution = new LinkedHashMap<>();
        distribution.put("0-59", 0);
        distribution.put("60-69", 0);
        distribution.put("70-79", 0);
        distribution.put("80-89", 0);
        distribution.put("90-100", 0);
        
        String sql = String.format(
            "SELECT score FROM Scores " +
            "JOIN Students ON Scores.student_id = Students.student_id " +
            "WHERE Students.class = '%s'", className
        );
        try (ResultSet rs = dbController.executeQuery(sql)) {
            while (rs.next()) {
                int score = rs.getInt("score");
                if (score < 60) distribution.put("0-59", distribution.get("0-59") + 1);
                else if (score < 70) distribution.put("60-69", distribution.get("60-69") + 1);
                else if (score < 80) distribution.put("70-79", distribution.get("70-79") + 1);
                else if (score < 90) distribution.put("80-89", distribution.get("80-89") + 1);
                else distribution.put("90-100", distribution.get("90-100") + 1);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return distribution;
    }
}

四、系统界面设计

采用Java Swing开发的GUI界面示例:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class LoginFrame extends JFrame {
    private JTextField txtUsername;
    private JPasswordField txtPassword;
    
    public LoginFrame() {
        setTitle("综合测评系统 - 登录");
        setSize(400, 300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        
        JPanel panel = new JPanel();
        panel.setLayout(null);
        add(panel);
        
        JLabel lblUsername = new JLabel("用户名:");
        lblUsername.setBounds(100, 80, 80, 25);
        panel.add(lblUsername);
        
        txtUsername = new JTextField();
        txtUsername.setBounds(190, 80, 120, 25);
        panel.add(txtUsername);
        
        JLabel lblPassword = new JLabel("密码:");
        lblPassword.setBounds(100, 120, 80, 25);
        panel.add(lblPassword);
        
        txtPassword = new JPasswordField();
        txtPassword.setBounds(190, 120, 120, 25);
        panel.add(txtPassword);
        
        JButton btnLogin = new JButton("登录");
        btnLogin.setBounds(150, 180, 100, 30);
        btnLogin.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String username = txtUsername.getText();
                String password = new String(txtPassword.getPassword());
                if (authenticate(username, password)) {
                    dispose();
                    new MainFrame().setVisible(true);
                } else {
                    JOptionPane.showMessageDialog(
                        LoginFrame.this, 
                        "用户名或密码错误!", 
                        "登录失败", 
                        JOptionPane.ERROR_MESSAGE
                    );
                }
            }
        });
        panel.add(btnLogin);
    }
    
    private boolean authenticate(String username, String password) {
        // 实际项目中应查询数据库验证
        return "admin".equals(username) && "123456".equals(password);
    }
    
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new LoginFrame().setVisible(true));
    }
}

五、系统部署与测试

1. 环境要求

  • JDK 1.8+
  • Access 2016
  • UCanAccess 5.0.1

2. 部署步骤

  1. 创建Access数据库并导入表结构
  2. 配置DBController中的数据库路径
  3. 编译并运行LoginFrame类
  4. 使用默认管理员账号登录(admin/123456)

3. 测试用例

import org.junit.Test;
import static org.junit.Assert.*;

public class ExamSystemTest {
    @Test
    public void testAddStudent() {
        StudentController controller = new StudentController();
        Student student = new Student("2025001", "张三", "男", "计算机1班");
        assertTrue(controller.addStudent(student));
    }
    
    @Test
    public void testCalculateScore() {
        ExamController controller = new ExamController();
        List<Question> questions = new ArrayList<>();
        questions.add(new Question(1, "Java的创始人是谁?", "A. Bill Gates", "B. James Gosling", "C. Steve Jobs", "B", 10));
        questions.add(new Question(2, "Java是哪一年诞生的?", "A. 1991", "B. 1995", "C. 1998", "B", 10));
        
        Map<Integer, String> answers = new HashMap<>();
        answers.put(1, "B");
        answers.put(2, "B");
        
        assertEquals(20, controller.calculateScore(answers, questions));
    }
}

六、毕业设计文档框架

1. 开题报告

  • 研究背景与意义
  • 国内外研究现状
  • 研究内容与方法
  • 技术路线与进度安排

2. 论文框架

  1. 引言
  2. 系统需求分析
  3. 系统设计
  4. 系统实现
  5. 系统测试
  6. 总结与展望

3. 任务书

  • 任务目标
  • 主要任务
  • 技术要求
  • 进度安排
  • 参考文献

七、总结

本系统实现了教育测评的全流程管理,通过Java Swing与Access数据库的结合,为小型教育机构提供了便捷的测评解决方案。系统采用模块化设计,具有良好的可扩展性,可作为同类系统开发的参考。

3个SEO优化标题

  1. 「Java+Access综合测评系统毕业设计全解析:从需求分析到源代码实现」
  2. 「手把手教你开发综合测评系统:Java Swing+Access数据库完整教程」
  3. 「Java+Access综合测评系统源码分享:含论文、开题报告、任务书全套资料」

需要调整代码细节或补充其他模块(如前端界面优化、数据库设计),请随时告知。

JAVA+access综合测评系统毕业设计

一、系统概述

本系统采用Java Swing开发前端界面,结合Access数据库实现数据存储,专为教育机构打造的综合测评解决方案。系统包含学生管理、题库管理、在线测评、成绩分析四大核心模块,实现了测评流程的全自动化。

二、系统架构设计

1. 技术选型

  • 前端:Java Swing
  • 数据库:Access 2016
  • 数据访问:UCanAccess JDBC驱动
  • 开发工具:Eclipse + WindowBuilder

2. 系统架构

采用经典的MVC架构模式:

├── model(数据模型层)
│   ├── Student.java
│   ├── Question.java
│   ├── Exam.java
│   └── Score.java
├── view(视图层)
│   ├── LoginFrame.java
│   ├── MainFrame.java
│   ├── StudentManagerPanel.java
│   └── ExamPanel.java
└── controller(控制层)
    ├── DBController.java
    ├── StudentController.java
    ├── QuestionController.java
    └── ExamController.java

三、核心代码实现

1. 数据库连接模块

import net.ucanaccess.jdbc.UcanaccessDriver;
import java.sql.*;

public class DBController {
    private static final String DB_PATH = "jdbc:ucanaccess://D:/ExamSystem.accdb";
    private Connection conn;

    // 单例模式获取数据库连接
    public static DBController getInstance() {
        return DBControllerHolder.INSTANCE;
    }
    
    private static class DBControllerHolder {
        private static final DBController INSTANCE = new DBController();
    }
    
    private DBController() {
        try {
            Class.forName(UcanaccessDriver.class.getName());
            conn = DriverManager.getConnection(DB_PATH);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    // 执行查询
    public ResultSet executeQuery(String sql) throws SQLException {
        Statement stmt = conn.createStatement();
        return stmt.executeQuery(sql);
    }
    
    // 执行更新
    public int executeUpdate(String sql) throws SQLException {
        Statement stmt = conn.createStatement();
        return stmt.executeUpdate(sql);
    }
}

2. 学生管理模块

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class StudentController {
    private DBController dbController = DBController.getInstance();
    
    // 添加学生
    public boolean addStudent(Student student) {
        String sql = String.format(
            "INSERT INTO Students(student_id, name, gender, class) " +
            "VALUES('%s', '%s', '%s', '%s')",
            student.getStudentId(),
            student.getName(),
            student.getGender(),
            student.getClass()
        );
        try {
            return dbController.executeUpdate(sql) > 0;
        } catch (SQLException e) {
            e.printStackTrace();
            return false;
        }
    }
    
    // 查询所有学生
    public List<Student> getAllStudents() {
        List<Student> students = new ArrayList<>();
        String sql = "SELECT * FROM Students";
        try (ResultSet rs = dbController.executeQuery(sql)) {
            while (rs.next()) {
                Student student = new Student(
                    rs.getString("student_id"),
                    rs.getString("name"),
                    rs.getString("gender"),
                    rs.getString("class")
                );
                students.add(student);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return students;
    }
}

3. 在线测评模块

import java.util.*;

public class ExamController {
    private DBController dbController = DBController.getInstance();
    
    // 生成随机试卷
    public List<Question> generateExamPaper(int questionCount, int categoryId) {
        List<Question> allQuestions = loadQuestionsByCategory(categoryId);
        List<Question> examQuestions = new ArrayList<>();
        
        if (allQuestions.size() <= questionCount) {
            examQuestions.addAll(allQuestions);
        } else {
            Random random = new Random();
            Set<Integer> selected = new HashSet<>();
            while (selected.size() < questionCount) {
                int index = random.nextInt(allQuestions.size());
                if (!selected.contains(index)) {
                    selected.add(index);
                    examQuestions.add(allQuestions.get(index));
                }
            }
        }
        return examQuestions;
    }
    
    // 计算考试成绩
    public int calculateScore(Map<Integer, String> answers, List<Question> questions) {
        int score = 0;
        for (Map.Entry<Integer, String> entry : answers.entrySet()) {
            int questionId = entry.getKey();
            String userAnswer = entry.getValue();
            for (Question question : questions) {
                if (question.getId() == questionId && 
                    question.getAnswer().equalsIgnoreCase(userAnswer)) {
                    score += question.getScore();
                    break;
                }
            }
        }
        return score;
    }
}

4. 成绩分析模块

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class ScoreAnalyzer {
    private DBController dbController = DBController.getInstance();
    
    // 获取班级平均分
    public double getClassAverageScore(String className) {
        String sql = String.format(
            "SELECT AVG(score) as avg_score FROM Scores " +
            "JOIN Students ON Scores.student_id = Students.student_id " +
            "WHERE Students.class = '%s'", className
        );
        try (ResultSet rs = dbController.executeQuery(sql)) {
            if (rs.next()) {
                return rs.getDouble("avg_score");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return 0.0;
    }
    
    // 获取成绩分布
    public Map<String, Integer> getScoreDistribution(String className) {
        Map<String, Integer> distribution = new LinkedHashMap<>();
        distribution.put("0-59", 0);
        distribution.put("60-69", 0);
        distribution.put("70-79", 0);
        distribution.put("80-89", 0);
        distribution.put("90-100", 0);
        
        String sql = String.format(
            "SELECT score FROM Scores " +
            "JOIN Students ON Scores.student_id = Students.student_id " +
            "WHERE Students.class = '%s'", className
        );
        try (ResultSet rs = dbController.executeQuery(sql)) {
            while (rs.next()) {
                int score = rs.getInt("score");
                if (score < 60) distribution.put("0-59", distribution.get("0-59") + 1);
                else if (score < 70) distribution.put("60-69", distribution.get("60-69") + 1);
                else if (score < 80) distribution.put("70-79", distribution.get("70-79") + 1);
                else if (score < 90) distribution.put("80-89", distribution.get("80-89") + 1);
                else distribution.put("90-100", distribution.get("90-100") + 1);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return distribution;
    }
}

四、系统界面设计

采用Java Swing开发的GUI界面示例:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class LoginFrame extends JFrame {
    private JTextField txtUsername;
    private JPasswordField txtPassword;
    
    public LoginFrame() {
        setTitle("综合测评系统 - 登录");
        setSize(400, 300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        
        JPanel panel = new JPanel();
        panel.setLayout(null);
        add(panel);
        
        JLabel lblUsername = new JLabel("用户名:");
        lblUsername.setBounds(100, 80, 80, 25);
        panel.add(lblUsername);
        
        txtUsername = new JTextField();
        txtUsername.setBounds(190, 80, 120, 25);
        panel.add(txtUsername);
        
        JLabel lblPassword = new JLabel("密码:");
        lblPassword.setBounds(100, 120, 80, 25);
        panel.add(lblPassword);
        
        txtPassword = new JPasswordField();
        txtPassword.setBounds(190, 120, 120, 25);
        panel.add(txtPassword);
        
        JButton btnLogin = new JButton("登录");
        btnLogin.setBounds(150, 180, 100, 30);
        btnLogin.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String username = txtUsername.getText();
                String password = new String(txtPassword.getPassword());
                if (authenticate(username, password)) {
                    dispose();
                    new MainFrame().setVisible(true);
                } else {
                    JOptionPane.showMessageDialog(
                        LoginFrame.this, 
                        "用户名或密码错误!", 
                        "登录失败", 
                        JOptionPane.ERROR_MESSAGE
                    );
                }
            }
        });
        panel.add(btnLogin);
    }
    
    private boolean authenticate(String username, String password) {
        // 实际项目中应查询数据库验证
        return "admin".equals(username) && "123456".equals(password);
    }
    
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new LoginFrame().setVisible(true));
    }
}

五、系统部署与测试

1. 环境要求

  • JDK 1.8+
  • Access 2016
  • UCanAccess 5.0.1

2. 部署步骤

  1. 创建Access数据库并导入表结构
  2. 配置DBController中的数据库路径
  3. 编译并运行LoginFrame类
  4. 使用默认管理员账号登录(admin/123456)

3. 测试用例

import org.junit.Test;
import static org.junit.Assert.*;

public class ExamSystemTest {
    @Test
    public void testAddStudent() {
        StudentController controller = new StudentController();
        Student student = new Student("2025001", "张三", "男", "计算机1班");
        assertTrue(controller.addStudent(student));
    }
    
    @Test
    public void testCalculateScore() {
        ExamController controller = new ExamController();
        List<Question> questions = new ArrayList<>();
        questions.add(new Question(1, "Java的创始人是谁?", "A. Bill Gates", "B. James Gosling", "C. Steve Jobs", "B", 10));
        questions.add(new Question(2, "Java是哪一年诞生的?", "A. 1991", "B. 1995", "C. 1998", "B", 10));
        
        Map<Integer, String> answers = new HashMap<>();
        answers.put(1, "B");
        answers.put(2, "B");
        
        assertEquals(20, controller.calculateScore(answers, questions));
    }
}

六、毕业设计文档框架

1. 开题报告

  • 研究背景与意义
  • 国内外研究现状
  • 研究内容与方法
  • 技术路线与进度安排

2. 论文框架

  1. 引言
  2. 系统需求分析
  3. 系统设计
  4. 系统实现
  5. 系统测试
  6. 总结与展望

3. 任务书

  • 任务目标
  • 主要任务
  • 技术要求
  • 进度安排
  • 参考文献

七、总结

本系统实现了教育测评的全流程管理,通过Java Swing与Access数据库的结合,为小型教育机构提供了便捷的测评解决方案。系统采用模块化设计,具有良好的可扩展性,可作为同类系统开发的参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2404866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

湖北理元理律师事务所:债务咨询中的心理支持技术应用

债务危机往往伴随心理崩溃。世界卫生组织研究显示&#xff0c;长期债务压力下抑郁症发病率提升2.3倍。湖北理元理律师事务所将心理干预技术融入法律咨询&#xff0c;构建“法律方案心理支持”的双轨服务模型。 一、债务压力下的心理危机图谱 通过对服务对象的追踪发现&#x…

阿里云域名怎么绑定

阿里云服务器绑定域名全攻略&#xff1a;一步步轻松实现网站“零”障碍上线&#xff01; 域名&#xff0c;您网站在云端的“身份证”&#xff01; 在数字化浪潮中&#xff0c;拥有一个属于自己的网站或应用&#xff0c;是个人展示、企业运营不可或缺的一环。而云服务器&#x…

能上Nature封面的idea!强化学习+卡尔曼滤波

2025深度学习发论文&模型涨点之——强化学习卡尔曼滤波 强化学习&#xff08;Reinforcement Learning, RL&#xff09;与卡尔曼滤波&#xff08;Kalman Filtering, KF&#xff09;的交叉研究已成为智能控制与状态估计领域的重要前沿方向。 强化学习通过试错机制优化决策策…

Markdown基础(1.2w字)

1. Markdown基础 这次就没目录了&#xff0c;因为md格式太乱了写示例&#xff0c;展示那些都太乱了&#xff0c;导致目录很乱。 &#xff08;我是XX&#xff0c;出现了很多错误&#xff0c;有错误和我说&#xff09; 1.1 Markdown简介 Markdown是一种轻量级的标记语言&#…

LabVIEW与PLC液压泵测控系统

针对液压泵性能测试场景&#xff0c;采用LabVIEW与西门子 PLC 控制系统&#xff0c;构建高精度、高可靠性的智能测控系统。通过选用西门子 PLC、NI 数据采集卡、施耐德变频电机等&#xff0c;结合LabVIEW 强大的数据处理与界面开发能力&#xff0c;实现液压泵压力、流量、转速等…

【HarmonyOS5】UIAbility组件生命周期详解:从创建到销毁的全景解析

⭐本期内容&#xff1a;【HarmonyOS5】UIAbility组件生命周期详解&#xff1a;从创建到销毁的全景解析 &#x1f3c6;系列专栏&#xff1a;鸿蒙HarmonyOS&#xff1a;探索未来智能生态新纪元 文章目录 前言生命周期全景图详细状态解析与最佳实践&#x1f3ac; Create状态&#…

c++ 静态成员变量

Student.h头文件内容&#xff1a; #pragma once #include <string> using namespace std;class Student { public:string name;int score;static int totalScore; // 静态局部变量声明Student(string name, int score);~Student();void print() const; };Student.cpp源文…

数据分析之OLTP vs OLAP

数据处理系统主要有两种基本方法&#xff1a;一种注重数据操作(增删查改)&#xff0c;另一种注重商业智能数据分析。 这两种系统是&#xff1a; 联机事务处理&#xff08;OLTP&#xff09; 联机分析处理&#xff08;OLAP&#xff09; Power BI专为与OLAP系统兼容而构建&…

dvwa5——File Upload

LOW 在dvwa里建一个testd2.php文件&#xff0c;写入一句话木马&#xff0c;密码password antsword连接 直接上传testd2.php文件&#xff0c;上传成功 MEDIUM 查看源码&#xff0c;发现这一关只能提交jpg和png格式的文件 把testd2.php的后缀改成jpg&#xff0c;上传时用bp抓包…

【优选算法】C++滑动窗口

1、长度最小的子数组 思路&#xff1a; class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {// 滑动窗口// 1.left0,right0// 2.进窗口( nums[right])// 3.判断// 出窗口// (4.更新结果)// 总和大于等于 target 的长度最小的 子数组…

关于GitHub action云编译openwrt

特别声明:此教程仅你有成功离线编译的经验后,使用下列教程更佳 不建议没有任何成功经验的人进行云编译 1、准备工作 使用GitHub云编译模板 GitHub - jxjxcw/build_openwrt: 利用Actions在线云编译openwrt固件,适合官方源码,lede,lienol和immortalwrt源码,支持X86,电…

sql入门语句-案例

Sql入门 数据库、数据表、数据的关系介绍 数据库 用于存储和管理数据的仓库 一个库中可以包含多个数据表 数据表 数据库最重要的组成部分之一 它由纵向的列和横向的行组成(类似excel表格) 可以指定列名、数据类型、约束等 一个表中可以存储多条数据 数据 想要永久化存储…

A Survey on the Memory Mechanism of Large Language Model based Agents

目录 摘要Abstract1. LLM-Based Agent的Memory1.1 基础概念1.2 用于解释Memory的例子1.3 智能体记忆的定义1.3.1 狭义定义(肯定不用这个定义)1.3.2 广义定义 1.4 记忆协助下智能体与环境的交互过程1.4.1 记忆写入1.4.2 记忆管理1.4.3 记忆读取1.4.4 总过程 2. 如何实现智能体记…

华为OD机试 - 猴子吃桃 - 二分查找(Java 2025 B卷 200分)

public class Test14 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {String[] s = sc.nextLine().split(" ");int[] arr = new int[s.length-1];int count = Integer.parseInt(s[s

【设计模式-5】设计模式的总结

说明&#xff1a;介绍完所有的设计模式&#xff0c;本文做一下总结 设计模式介绍 博主写的设计模式博客如下&#xff1a; 【设计模式-1】UML和设计原则 【设计模式-2.1】创建型——单例模式 【设计模式-2.2】创建型——简单工厂和工厂模式 【设计模式-2.3】创建型——原型…

【无人机】无人机UAV、穿越机FPV的概念介绍,机型与工具,证书与规定

【无人机】无人机UAV、穿越机FPV的概念介绍&#xff0c;机型与工具&#xff0c;证书与规定 文章目录 1、无人机的定义、概念、技术栈1.1 无人机的概念1.2 无人机技术&#xff08;飞控&#xff0c;动力&#xff0c;通信&#xff09; 2、无人机机型2.1 DJI无人机 &#xff08;航拍…

链表好题-多种实现

143. 重排链表 - 力扣&#xff08;LeetCode&#xff09; 这道题非常经典&#xff0c;很多大厂都作为面试题。 方法一&#xff1a;寻找中点翻转链表合并链表 class Solution { public:void reorderList(ListNode* head) {if (head nullptr) {return;}ListNode* mid middleNo…

oracle数据恢复—oracle数据库执行truncate命令后的怎么恢复数据?

oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下&#xff0c;oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况&#xff0c;例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致…

OneNet + openssl + MTLL

1.OneNet 使用的教程 1.在网络上搜索onenet&#xff0c;注册并且登录账号。 2.产品服务-----物联网服务平台立即体验 3.在底下找到立即体验进去 4.产品开发------创建产品 5.关键是选择MQTT&#xff0c;其他的内容自己填写 6.这里产品以及开发完成&#xff0c;接下来就是添加设…

分享两个日常办公软件:uTools、PixPin

1. uTools 网址&#xff1a;https://u.tools/ 这是一个高效智能的在线工具平台。 特点&#xff1a; 专为提升用户的工作效率跟生活便利性设计。 优点&#xff1a; 1&#xff1a;由国内团队开发。 2&#xff1a;通过插件化的方式为用户提供多样化的功能支持。 3&#xf…