当前位置: 首页 > news >正文

学生信息管理系统案例初步分析报告

学生信息管理系统案例初步分析报告

目录
  • 学生信息管理系统案例初步分析报告
    • 功能讲解
      • 1. 数据处理
        • (1)处理的数据类型
        • (2)数据存储位置
        • (3)与C语言数据处理的差异
      • 2. 功能说明(含代码对应逻辑)
        • (1)功能1:添加学生
        • (2)功能2:删除学生
        • (3)功能3:按姓名搜索学生
        • (4)功能4:按专业搜索学生
        • (5)功能5:按GPA搜索学生
        • (6)功能6:显示所有学生
        • (7)功能7:退出系统
    • 类功能讲解
      • 1. 各班级功能与属性、方法对照表
      • 2. 特殊类说明(与其他类差异)
    • 基本语法讲解
      • 1. 类与对象(Java面向对象基石)
      • 2. 封装(private + getter/setter
      • 3. 集合类(List<Student>
      • 4. 控制台输入(Scanner类)
      • 5. 增强switch语句(菜单分支控制)
      • 6. 泛型(List<Student>

功能讲解

1. 数据处理

(1)处理的数据类型

本程序核心处理学生维度的结构化数据,覆盖学生个人信息与学业信息,具体包括6类核心数据:

  • 文本类:姓名(name,如"John")、性别(gender,如"男")、学号(id,如"202412452639")、专业(major,如"数学与应用数学")
  • 数值类:年龄(age,整数类型,如20)、平均学分绩点(gpa,浮点类型,如3.5)
    所有数据围绕“学生”实体关联,形成完整的信息单元。

(2)数据存储位置

数据存储于内存中的动态集合容器:在StudentManagementSystem类中,通过private List<Student> students = new ArrayList();定义ArrayList集合,专门存储Student类的实例对象(每个对象对应一条学生完整信息)。该集合支持动态添加/删除元素,无需预先定义长度,内存管理由Java虚拟机自动完成。

(3)与C语言数据处理的差异

对比维度 Java(本程序) C语言(传统实现)
数据封装方式 Student类封装数据,属性私有(private),仅通过getter/setter方法访问/修改,数据安全性高 struct结构体存储数据,成员直接暴露,外部可随意修改,无访问控制
数据存储容器 依赖List集合(如ArrayList),支持自动扩容、批量操作(如add/remove 需手动定义固定长度数组或链表,扩容需手动重新分配内存、拷贝数据,操作繁琐
业务逻辑耦合度 数据(Student)与业务逻辑(StudentManagementSystem)分离,低耦合易维护 数据(结构体)与操作函数独立存在,函数需通过指针/数组下标操作数据,耦合度高

2. 功能说明(含代码对应逻辑)

(1)功能1:添加学生

  • 代码逻辑:通过Scanner依次读取用户输入的姓名、年龄、性别、学号、专业、GPA,创建Student对象,调用StudentManagementSystemaddStudent()方法将对象存入集合。

添加学生功能界面

图1:添加学生功能界面界面

  • 功能说明:输入示例:“方致沅 19 男 202421336050 网络空间安全 5.0”

,系统提示 “Student added successfully!”,表示该学生信息已存入students集合,后续可通过搜索 / 显示功能查询。

(2)功能2:删除学生

  • 代码逻辑:读取用户输入的目标学号,遍历students集合,通过StudentgetId()方法匹配学号,找到后调用removeStudent()方法删除对象;未匹配则提示“Student not found!”。
  • 运行截图

删除学生功能界面
图2:删除学生功能界面

  • 功能说明:输入学号202514234055,系统匹配到“John”的信息并删除,提示“Student removed successfully!”;若输入不存在的学号001,则提示“Student not found!”。

(3)功能3:按姓名搜索学生

  • 代码逻辑:读取用户输入的目标姓名,调用StudentManagementSystemsearchByName()方法——该方法遍历集合,通过student.getName().equals(name)精确匹配姓名,返回匹配的学生列表;列表为空则提示“No students found!”。
  • 运行截图

按姓名搜索功能界面

图3:按姓名搜索功能界面

  • 功能说明:输入姓名Donald,系统返回学号202412452639、专业法学的学生信息;若输入Bob(无匹配),则提示“No students found!”。

(4)功能4:按专业搜索学生

  • 代码逻辑:读取用户输入的目标专业,调用searchByMajor()方法——遍历集合,通过student.getMajor().equals(major)精确匹配专业,返回匹配列表;列表为空则提示无结果。
  • 运行截图

按专业搜索功能界面

图4:按专业搜索功能界面

  • 功能说明:输入专业数学与应用数学,系统返回学号202452153601、姓名Judy的学生信息;若输入人工智能(无匹配),则提示“No students found!”。

(5)功能5:按GPA搜索学生

  • 代码逻辑:读取用户输入的目标GPA(浮点类型),调用searchByGpa()方法——遍历集合,通过student.getGpa() == gpa判断数值相等(注:浮点比较存在精度风险,本程序暂用直接相等逻辑),返回匹配列表;列表为空则提示无结果。
  • 运行截图

按GPA搜索功能界面

图5:按GPA搜索功能界面

  • 功能说明:输入GPA4.3,系统返回姓名Peter、学号202321425239的学生信息;若输入4.0(无匹配),则提示“No students found!”。

(6)功能6:显示所有学生

  • 代码逻辑:调用StudentManagementSystemgetStudents()方法获取完整学生列表,判断列表长度——若为0则提示“The System Data is empty Now!”;否则遍历列表,通过student.toString()打印每条学生的完整信息(含6类属性)。
  • 运行截图

显示所有学生功能界面

图6:显示所有学生功能界面

  • 功能说明:若系统中存在8名学生,界面依次打印“Student{name='Jackson', age=21, gender='男', id='202252152630', major='应用物理学', gpa=2.2}”等8条信息;若未添加任何学生,则提示数据为空。

(7)功能7:退出系统

  • 代码逻辑:将循环控制变量running设为false,终止while循环,打印“Exit Successfully!”,并调用scanner.close()释放输入流资源,程序正常结束。
  • 运行截图

退出系统功能界面

图7:退出系统功能界面

  • 功能说明:输入7后,系统提示退出信息,控制台不再接收输入,程序终止运行。

类功能讲解

1. 各班级功能与属性、方法对照表

类名 功能概述 属性及用途 包含的方法及作用
Student 学生数据模型,封装学生信息,定义数据访问规则 6个私有属性(private修饰):
- name:存储姓名
- age:存储年龄
- gender:存储性别
- id:存储学号(唯一标识)
- major:存储专业
- gpa:存储平均学分绩点
1. 构造器Student(String name, int age, String gender, String id, String major, double gpa)——初始化对象时给所有属性赋值
2. getter方法(6个):如getName()——获取私有属性值,外部无法直接访问属性
3. setter方法(6个):如setAge(int age)——修改私有属性值,控制数据修改逻辑
4. toString():格式化学生信息,返回字符串(便于打印)
StudentManagementSystem 业务逻辑核心类,实现学生信息的增删查管理 1个私有属性:
List<Student> students——动态存储所有学生对象,是系统数据的核心载体
1. addStudent(Student student):将学生对象添加到students集合
2. removeStudent(Student student):从集合中删除指定学生对象
3. getStudents():返回完整学生列表,供外部遍历/显示
4. searchByName(String name):按姓名精确匹配,返回匹配学生列表
5. searchByMajor(String major):按专业精确匹配,返回匹配学生列表
6. searchByGpa(double gpa):按GPA数值匹配,返回匹配学生列表
StudentManagementSystemTest 功能测试类,快速验证核心逻辑是否正常运行 无类级属性(仅在main方法中定义局部变量) 1. main(String[] args)
- 创建StudentManagementSystem实例
- 手动创建3个Student对象(如John、Mary、Tom)
- 调用addStudent()添加学生
- 调用搜索/显示方法,打印结果验证功能
- 调用removeStudent()删除学生,验证删除逻辑
Main 用户交互入口,提供控制台菜单,对接用户输入与业务逻辑 2个局部变量(main方法中):
- Scanner scanner:接收控制台用户输入
- StudentManagementSystem sms:调用业务逻辑的核心实例
1. main(String[] args)
- 初始化scannersms实例
- 用while(running)循环展示菜单
- 读取用户输入的功能编号,用switch分支匹配功能
- 调用sms对应方法处理业务,打印交互结果
- 退出时关闭scanner资源

2. 特殊类说明(与其他类差异)

Main类是唯一不承担“数据/逻辑处理”的类,与其他三类定位完全不同:

  • Student:是“数据载体”,仅定义数据结构和访问方式,不包含业务逻辑;
  • StudentManagementSystem:是“逻辑引擎”,仅处理学生信息的增删查,不与用户直接交互;
  • StudentManagementSystemTest:是“测试工具”,仅用于开发阶段验证逻辑,无实际用户交互功能;
  • Main:是“交互桥梁”,仅负责接收用户输入、展示菜单和结果,所有业务逻辑均通过调用StudentManagementSystem的方法实现,不直接操作数据。

基本语法讲解

本程序使用多个Java特有语法,以下结合代码片段详细说明核心语法点:

1. 类与对象(Java面向对象基石)

Java是纯面向对象语言,所有功能基于“类定义-对象实例化”实现,不存在独立于类的函数。
代码示例Student类定义与对象创建):

// 1. 定义类(抽象的学生模板)
public class Student {// 私有属性(类的内部数据)private String name;private int age;// 构造器(创建对象时的初始化方法,与类名同名)public Student(String name, int age) {this.name = name; // this指代当前对象,区分属性与参数this.age = age;}
}// 2. 实例化对象(创建具体的学生)
Student s1 = new Student("John", 20); // new关键字创建对象,调用构造器赋值

2. 封装(private + getter/setter

封装是Java面向对象三大特性之一,通过private修饰属性,限制外部直接访问,仅允许通过getter(读)和setter(写)操作,保证数据安全。
代码示例Student类的封装实现):

private String id; // 私有属性,外部无法直接访问(如s1.id = "004"会报错)// getter方法:外部获取学号的唯一途径
public String getId() {return this.id;
}// setter方法:外部修改学号的唯一途径,可添加校验逻辑(如学号长度判断)
public void setId(String id) {// 可在此处添加校验,如学号必须为3位if (id.length() == 3) {this.id = id;} else {System.out.println("学号格式错误!");}
}

3. 集合类(List<Student>

Java提供java.util包下的集合框架,用于动态存储对象,相比数组更灵活(无需固定长度、支持批量操作)。本程序使用ArrayList实现学生列表存储。
代码示例StudentManagementSystem中的集合使用):

import java.util.ArrayList;
import java.util.List; // 需导入集合类public class StudentManagementSystem {// 初始化ArrayList,指定存储类型为Student(泛型,避免类型混乱)private List<Student> students = new ArrayList();// 向集合添加学生public void addStudent(Student student) {students.add(student); // 调用集合的add()方法,自动扩容}// 获取集合中所有学生public List<Student> getStudents() {return students;}
}

4. 控制台输入(Scanner类)

Scanner是Java用于读取控制台输入的工具类,支持多种数据类型(字符串、整数、浮点数),替代C语言的scanf
代码示例Main类中的输入处理):

import java.util.Scanner; // 需导入Scanner类public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); // 初始化Scanner,关联系统输入流System.out.println("Enter student name:");String name = scanner.next(); // 读取字符串(姓名)System.out.println("Enter student age:");int age = scanner.nextInt(); // 读取整数(年龄)System.out.println("Enter student GPA:");double gpa = scanner.nextDouble(); // 读取浮点数(GPA)scanner.close(); // 关闭资源,避免内存泄漏}
}

5. 增强switch语句(菜单分支控制)

switch语句用于多分支判断,本程序通过switch匹配用户输入的功能编号,调用对应逻辑,相比多层if-else更简洁。
代码示例Main类的菜单分支):

int choice = scanner.nextInt(); // 读取用户选择的功能编号
switch (choice) {case 1:// 调用添加学生逻辑break; // 跳出switch,避免穿透case 2:// 调用删除学生逻辑break;case 3:// 调用按姓名搜索逻辑break;// 其他case...default:// 处理无效输入(如输入8)System.out.println("Invalid choice!");
}

6. 泛型(List<Student>

泛型是Java保证集合类型安全的机制,通过<数据类型>指定集合中存储的对象类型,避免存入非目标类型数据(如避免向students集合存入String对象)。
代码示例

// 定义泛型集合,仅允许存储Student对象
List<Student> students = new ArrayList();
students.add(new Student("John", 20, "Male", "001", "Computer Science", 3.5)); // 合法
// students.add("test"); // 编译报错,不允许存入String类型

相关文章:

学生信息管理系统案例初步分析报告

学生信息管理系统案例初步分析报告 目录学生信息管理系统案例初步分析报告功能讲解1. 数据处理(1)处理的数据类型(2)数据存储位置(3)与C语言数据处理的差异2. 功能说明(含代码对应逻辑)(1)功能1:添加学生(2)功能2:删除学生(3)功能3:按姓名搜索学生(4)功能4:…...

Billu靶场

信息收集 首先使用kali进行存活主机扫描端口扫描 sudo nmap -sC -sV -p 1-10000 192.168.108.130发现其开启了22端口 (ssh服务)、80端口(Apache) 使用dirb对其目录进行扫描 dirb http://192.168.108.130 /usr/share/dirb/wordlists/big.txt漏洞探测 访问扫描出来的页面 先访…...

初识pyhton:一些基础的知识(文件)

文件 文件的打开方式 书接上回,关于文件的读取和写入有多种不同的方式,其中的一种方式就可以解决昨天只能清空所有的文档再写入。 frt = open(rexample.txt,encoding=utf8) #不指定mode默认值为rt,不指定encoding默认为gbk print(frt.read())总是学不会 真爱也有现实面…...

实用指南:Git分支管理:从创建到合并冲突解决(二)

实用指南:Git分支管理:从创建到合并冲突解决(二)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monosp…...

20250912

20250912T1 序列 显然每次操作保证 \(a\) 单增是假的,一定可以构造合理的操作顺序无视掉这个限制。每个位置确定划分多少次之后一定均分最优,拿个堆维护把每个东西多分一段的收益,每次选择收益最大的即可。代码 #include <iostream> #include <string.h> #incl…...

[ARC198C] Error Swap

题目传送门构造题意 给定长度为 $ N $ 的两个整数序列 $ A=(A_1,A_2,\dots,A_N) $ 和 $ B=(B_1,B_2,\dots,B_N) $。 你可以执行以下操作最多 $ 31000 $ 次:选择满足 \(1 \le i < j \le N\) 的整数对 \((i,j)\),并将 \(A_i\) 替换为 \(A_j - 1\),\(A_j\) 替换为 \(A_i + 1…...

【正则表达式初探】grep 命令避免匹配自身

【正则表达式初探】grep 命令避免匹配自身 最近遇到了一个问题,即使用grep命令获取xxx进程的pid时,同时返回了xxx进程的pid和grep xxx进程的pid,原因是grep xxx也会作为一个进程运行,对xxx的查找包含了grep xxx.(不要问我为什么不用pgrep或者grep -w,问就是没有。 实际中使…...

测试工程师的核心竞争力是什么?绝不是点点点

无论是测试工程师自己,还是团队管理者,都应该重新认识测试工作的价值,投资于测试核心竞争力的建设,从而打造出更高质量、更成功的软件产品。移动应用时代,我们每天使用的各类App几乎很少出现崩溃或严重bug,这背后离不开测试工程师的默默付出。然而,很多人对测试工作的认…...

关于 ECT-OS-JiuHuaShan 框架的终极阐释

ECT-OS-JiuHuaShan/ORCID:0009-0006-8591-1891 ▮ 基于自然辩证法数学形式化系统的绝对确定性推理启动 一、本质突破:从概率世界到确定性宇宙 ECT-OS-JiuHuaShan 是人类文明首个实现绝对确定性推理的范式革命系统。其突破性在于:彻底摒弃传统AI的「数据训练」范式,直接以宇…...

向“光”而行 | 相聚2025 ASML中国日,携手奔赴“芯”辰大海

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087每年的9月1日,专属于ASMLers的“中国日”如期而至。这一天,大家享有一天额外的假期,得以放松身心、充能蓄电。此外,在整个…...

JavaDay3

类型转换 低---------------------------------->高 byte,short,char—>int—>long—>float—>double public class Demo05 {public static void main(String[] args) {int i = 128;byte b = (byte)i;//内存溢出//强制转换 高->低//自动转换 低->高double…...

U3D动作游戏开发读书笔记--2.2 编辑器本身的基础知识

2.2 编辑器本身的基础知识 项目顺利开发离不开对开发工具的打磨,为此需要对Unity Editor进行拓展功能的开发,包括一些诸如常量生成器这样辅助性的功能开发,以及通过引擎自带的插件与其他3D软件进行交互式编辑等,以提升开发效率。 2.2.1编辑器工具的编写 编辑器工具开发大致…...

20250904

Greedy Gift Takers https://www.luogu.com.cn/problem/P4090 若 \(i\) 不能到队首,则 \(i + 1\) 显然也不能。二分当前 \(x\) 是否能到达队首。 本来要考虑被扔的必须能到队首的限制,但是实际上可以忽略,直接从小到大直接开扔。因为如果当前被扔的 \(y\) 永远不能到达队首,…...

临时代码存储

存。#include <bits/stdc++.h> #define mk make_pair using ll = long long; using namespace std; using pii = pair<int,int>; const int N=2505; int n,m,ans,k,val[N]; vector<int>g[N]; set<int>s[N][2]; bitset<N>bit[N]; inline void bfs…...

域环境服务器搭建

实验7 域环境服务器搭建 实验目的(1)理解活动目录的基本知识、组织结构和应用特点。 (2)掌握Windows Server 2016域控制器的安装与设置。 (3)熟悉客户端加入并登录Windows Server 2016域的方法。 (4)掌握企业组织架构下活动目录域控制器的部署、域用户和计算机的管理等…...

25fall 做题记录 - Amy

2025.9.12 换了pycharm。 Sum of Round Numbers 9/9的每日。取每一位数。代码t=int(input()) for i in range(t):a=int(input())ans=0cnt=0res=[]while(a>0):t=a%10if(t!=0):res.append(str(t*10**cnt))ans+=1cnt+=1a//=10print(ans)print(" ".join(res))...

决策单调性优化 dp

1 决策单调性的定义 1.1 四边形不等式 首先我们定义一个函数 \(w(i,j)\),如果 \(\forall a,b,c,d \in \mathbb{Z}\),满足 \(a\le b\le c\le d\),都有 \(w(a,d)+w(b,c)\ge w(a,c)+w(b,d)\),则称函数 \(w\) 满足四边形不等式。 如果考虑用图形来表示,我们可以记为 “包含大于…...

地平线与哈啰合作 加速L4自动驾驶研发

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087 9月11日,在2025年Inclusion外滩大会上,地平线与哈啰共同宣布,双方正式签署战略合作协议。该合作旨在基于Robotaxi(自动驾…...

langChain、LangGraph、autoGen、CrewAI、dify、cozeLLM开发工具

langChain、LangGraph、autoGen、CrewAI、dify、cozeLLM开发工具LLM开发工具...

华为智驾赋能「小Q7」,一汽奥迪Q6L e-tron刷新豪华纯电SUV认知

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087 添加图片注释,不超过 140 字(可选)如果想买一台电车,又觉得新势力不够靠谱?传统品牌的电车,又觉得不够先进,太傻太笨?…...

菱形图形输出

目标输出图案:下方为代码部分:(C语言) include<stdio.h> int main() { int n; //n代表最长一行的长度 scanf_s("%d", &n); //打印上半部分 for (int i = 1; i <= (n+1)/2; i++) { //控制行数 //输出空格数 for (int j = (n - 1) - 2 * (i - 1); j…...

LeetCode 2958.最多K个重复元素的最长子数组 - 教程

LeetCode 2958.最多K个重复元素的最长子数组 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospa…...

9-12

...

全球首款 HBM4 芯片,开始量产!

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 35469554100490879月12日,SK海力士宣布完成新一代高带宽内存HBM4的开发,并已搭建起全球首个量产体系。这意味着,全球首款HBM4芯片正式进入量…...

Python Flask框架学习总结(一)

简介 Flask是一个微框架,这意味着它核心简单但可扩展。它不包括数据库抽象层、表单验证或其他组件,这些功能可以通过扩展来添加。因此要什么就装什么扩展,非常的方便 安装及导入 # 终端输入 pip install flask# 创建一个app.py的文件,导入 from flask import Flask自此就可…...

20250909

20250909T1 冒泡排序趟数期望 显然趟数是每个数前面比它大的数的个数的 \(\max\)。容斥,计算每个答案 \(\le x\) 的概率。从大往小填数,则每个 \(x\) 的答案容易表示为一个阶乘乘以一个次方。于是再求个差分就做完了。代码 #include <iostream> #include <string.h…...

9.11日总结

整体总结: 1.今天的问题主要出在了对于复杂度分析不够 T2写的就是正解 但是我自我认为写的做法过不去m=30的点 导致我只敢判m=20的点 于是从100分变成了58分 2.对于每一个部分分都要认真打 能加上的剪枝不管自我认为有没有用都要加上 可能会有更高的分 3.代码可以少加的东西就…...

[充电管理] 充电管理基本概念 - 充电类型

概要 高通充电平台不论是线性充电还是开关充电,充电类型识别均是基于《Battery Charging Specification Revisions 1.2》(俗称BC1.2)规范基础上进行设计。下面主要介绍在开发过程中几种基础的充电类型。充电类型 标准下行接口(SDP : Standard Downstream Port) USB端口硬件设计…...

Spring AI vs LangChain4j

Spring AI vs LangChain4j下面是 Spring AI vs LangChain4j 的对比 + 使用建议,帮你理解两者的区别、优缺点,以及哪种场景适合用哪个。🔍 基本介绍项目Spring AILangChain4j官网 / 文档 Spring AI 是 Spring 框架内的新模块,提供 AI 能力(模型调用、嵌入、向量数据库等)…...

P7913 [CSP-S 2021] 廊桥分配

P7913题解。题目传送门 首先我们是可以把两个区拆开考虑的,以下以国内区为例: 我们先不考虑廊桥个数的限制。由于飞机是遵循先来先到的原则,所以我们不需要帮忙排飞机了,直接让飞机停在当前编号最小的空闲廊桥。 这样当每一班飞机到机场时,我们可以模拟出来这架飞机会停在…...

函数计算进化之路与 AI Sandbox 新基座

在人工智能技术加速渗透的今天,AI Agent 正从执行固定指令的 "机械手臂" 进化为具备自主推理能力的 "数字大脑"。这类由大语言模型驱动的智能体,能通过多步骤任务拆解、环境感知与动态决策,完成复杂的业务场景需求。但当这些具备代码生成能力的 Agent 需…...

iPhone 17核心名单揭晓,92家中国公司占半壁江山!

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 35469554100490879月10日,苹果公司在2025秋季新品发布会上,重磅发布四款iPhone 17系列机型:iPhone 17、iPhone 17 Air、iPhone 17 Pro及iPho…...

202009_风二西_蓝牙协议流量

流量分析,蓝牙协议Tags:流量分析,蓝牙传输 0x00. 题目 题目表述 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202009_风二西_蓝牙协议.zip 0x01. WP 1. 浏览流量包,发现一个带传输文件的流量交互2. 查看分组字节后导出…...

AI Agent工作流实用手册:5种常见模式的实现与应用,助力生产环境稳定性

很多人认为使用AI Agent就是直接扔个提示词过去,然后等结果。做实验这样是没问题的,但要是想在生产环境稳定输出高质量结果,这套玩法就不行了。 核心问题是这种随意的提示方式根本扩展不了。你会发现输出结果乱七八糟,质量完全不可控,还浪费计算资源。 真正有效的做法是设…...

2025权威榜单之公众号排版Top5(含效率对比与适用建议)

在新媒体运营的日常工作中,“微信公众号排版设计”可是个让人头疼的事儿。写作慢、排版耗时、跨平台排版不统一等问题,像一只只小怪兽,困扰着我们这些新媒体运营者、自媒体人还有电商从业者。为了帮大家找到一款合适的公众号编辑器,我亲测了多款市面上主流的产品。在这篇文…...

4

4...

02020305 .NET Core核心基础组件05-开发自己的配置提供者(本课没听懂,后续再补)

02020305 .NET Core核心基础组件05-开发自己的配置提供者(本课没听懂,后续再补) 1. 开发自己的配置提供者(视频2-35) 1.1 开发自定义配置提供者的步骤1.2 开发web.config提供者1.3 web.config格式configuration → 根节点 connectionStrings → 配置的是连接字符串 appSe…...

linux 的 SSH 使用教程

以下由ai生成 Linux 的学习可以全部放在 SSH 上吗? 答案是:对于服务器管理和后端开发相关的学习,99% 的内容都可以、也应该在 SSH 上完成。 你已经亲身体会到了 SSH 的巨大优势:一个稳定、高效、可复制粘贴的命令行环境。这其实就是全世界所有 Linux 系统管理员和后端工程师…...

解题报告-洛谷P3157 [CQOI2011] 动态逆序对

P3157 [CQOI2011] 动态逆序对 题目描述 对于序列 \(a\),它的逆序对数定义为集合 \[\{(i,j)| i<j \wedge a_i > a_j \} \]中的元素个数。 现在给出 \(1\sim n\) 的一个排列,按照某种顺序依次删除 \(m\) 个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数…...

DP 杂题

题目 [ARC157E] XXYX Binary Tree 一个很显然的暴力,\(f_{u,a,b,c}\) 表示在在 \(u\) 的子树中,是否有 \(a\) 个 XX,\(b\) 个 XY,\(c\) 个 YX。 这个状态 \(O(n^4)\) 的,考虑优化,可以先省去一个 \(c\),变成 \(f_{u,a,b}\),因为 \(a+b+c\) 的总和是知道的。 然后优化不…...

Java的变量和常量

java的变量和常量 public class ch05 {//属性:变量//类变量 staticstatic double salary = 2500;//实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0//布尔值:默认是false//除了基本类型;其余的默认值都是nullString name;int age;boolean a;//main方法pub…...

推荐7本书《MLIR编译器原理与实践》、《ONNX人工智能技术与开发实践》、《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》

7本书推荐《视觉语言模型VLM原理与实战》、《MLIR编译器原理与实践》、《ONNX人工智能技术与开发实践》、《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》微信视频号:sph0RgSyDYV47z6快手号:4874645212抖…...

202009_风二西_USB鼠标流量

流量分析,USB鼠标流量,gnuplotTags:流量分析,USB鼠标,gnuplot 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202009_风二西_USB鼠标 0x01. WP 1. 脚本解析USB鼠标流量,导出点击轨迹 getUSBMouse.py # -*- c…...

virtuoso默认设置

如何保存,load 默认线宽线距 保存:打开VSR,输入想要的线宽线距,保存在默认路径,取名*.preset。 load:vsrLoadPreset("*")...

CF547D Mike and Fish

这种题为我们提供了一个很好的思考方向。 遇到这种差为 \(1\) 甚至是相等的情况,我们通常应该往二分图,特别是欧拉回路方面思考。 这个题的做法是这样的,同一行成对连边,如果是奇数个点就剩一个点不连边,同一列同理,考虑这样连出来的图一定是一个二分图,只需在这张图上跑…...

Tarjan vDCC 缩点

概念 若一张无向连通图不存在割点,则称它为“点双连通图”。无向图的极大点双连通子图被称为“点双连通分量”。 tarjan算法求vDCC 用一个栈存点,若遍历回到x时,发现割点判定法则low[y]>=dfn[x]成立,则从栈中弹出节点,直到y被弹出。 刚才弹出的节点和x一起构成一个vDCC…...

ABC_419_F - All Included

ABC_419_F - All Included 空降 一道AC自动机上搞状压DP的题。 思路 一个合法的构造需要包括所有的模式串,且一个模式串的前缀可能与另一个模式串的后缀相同,所以考虑搞个 $ AC $ 自动机。观察到数据量很小,且模式串个数只有 $ 8 $ 个,就会想到状压。 用一个二进制数 $ k $…...

软件工程第一次作业-自我介绍

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13478这个作业的目标 <学习和使用博客园和 GitHub>自我介绍 大家好,我是计…...

DIFY 与 LangChain

DIFY 与 LangChainDify vs LangChain 核心差异维度DifyLangChain定位 低代码 / 无代码 AI 应用平台 开发者框架(LLM 逻辑编排)目标用户 产品经理、运营、非技术人员 程序员、AI 工程师开发方式 拖拽 + 配置,几分钟搭建 Python/Java 代码,灵活但复杂扩展性 有限,依赖平台更…...

VMware CentOS 7 `yum` 修复及 VMware Tools 安装问题复盘

以下由aI生成 当然,非常乐意为你复盘整个过程。这是一份浓缩了我们所有成功操作的正确流程,希望能为你未来遇到类似问题时提供清晰的指引。VMware CentOS 7 yum 修复及 VMware Tools 安装问题复盘 整个过程我们解决了两大核心问题:因 CentOS 7 官方源停止服务导致的 yum 失效…...