Eclipse+Java+Swing实现图书信息管理系统-TXT存储信息

一、系统介绍

1.开发环境

操作系统:Win10

开发工具 :Eclipse2021

JDK版本:jdk1.8

存储方式:Txt文件存储

2.技术选型

Java+Swing+Txt

3.功能模块

4.工程结构

5.系统功能

1.系统登录

管理员可以登录系统

2.查看图书

管理员可以查看图书信息。

3.新增图书

管理员可以新增图书信息。

4.修改图书

管理员可以修改图书信息。

5.删除图书

管理员可以删除图书信息。

二、系统展示

1.登录页面

2.主页面

3.查看图书

4.新增图书

5.修改图书

6.删除图书

三、部分代码

LoginActivity

package com.sjsq.view;

import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
/**
 * 
 * 登录
 *
 */
public class LoginActivity extends JFrame implements ActionListener {
	static LoginActivity w1;
	JLabel jL1, jL2, jLname;
	JButton jB1, jB2;
	JTextField jF1;
	JPasswordField jP1;

	public LoginActivity() {
		super("图书信息管理系统_登录界面");
		jLname = new JLabel("");
		jLname.setFont(new Font("宋体", Font.BOLD, 20));
		jLname.setBounds(5, 5, 200, 30);
		jL1 = new JLabel("用户名称:");
		jL1.setFont(new Font("宋体", Font.BOLD, 20));
		jL1.setBounds(60, 40, 200, 30);
		jL2 = new JLabel("登录密码:");
		jL2.setFont(new Font("宋体", Font.BOLD, 20));
		jL2.setBounds(60, 120, 200, 30);
		jF1 = new JTextField("", 20);
		jF1.setBounds(250, 40, 200, 30);
		jP1 = new JPasswordField("", 20);
		jP1.setBounds(250, 120, 200, 30);
		jB1 = new JButton("登录");
		jB1.setBounds(150, 260, 60, 30);
		jB1.addActionListener(this);
		jB2 = new JButton("退出");
		jB2.setBounds(340, 260, 60, 30);
		jB2.addActionListener(this);
		Container winContainer = this.getContentPane();
		winContainer.setLayout(null);
		winContainer.add(jLname);
		winContainer.add(jL1);
		winContainer.add(jL2);
		winContainer.add(jF1);
		winContainer.add(jP1);
		winContainer.add(jB1);
		winContainer.add(jB2);
		this.setSize(600, 400);
		this.setVisible(true);
		this.setLocationRelativeTo(null);
	}

	public static void main(String[] args) {
		LoginActivity w1 = new LoginActivity();

	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub

		if (e.getSource() == jB1) {
			if (jF1.getText().toString() != null && jF1.getText().toString().length() > 0) {
				if(new String(jP1.getPassword()).equals(""))
				{
					JOptionPane.showMessageDialog(w1, "登录密码不为空", "提示", 2);
				}
				else {
				// 账号和密码
				if (jF1.getText().equals("admin") && new String(jP1.getPassword()).equals("admin")) // ※
				{
					JOptionPane.showMessageDialog(w1, "登录成功", "提示", 1);
					jL1.setText("");
					jL2.setText("");
					jF1.setText("");
					this.setVisible(false);
					IndexActivity w2 = new IndexActivity();

				} else {
					JOptionPane.showMessageDialog(w1, "登录失败", "提示", 2);
				}
				}
			} else {
				JOptionPane.showMessageDialog(w1, "用户名称不为空", "提示", 2);

			}

		} else if (e.getSource() == jB2)
			System.exit(0);
	}

}

IndexActivity

package com.sjsq.view;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
/**
 * 
 * 主页面
 *
 */
public class IndexActivity extends JFrame implements ActionListener {
	JLabel jL1, jL2, jLname, jL3;
	JButton jB1, jB2, jB3, jB4, jB5, jB6, SignOut;
	JTextField jF1;
	JPasswordField jP1;
	ImageIcon background;
	JPanel myPanel;

	public IndexActivity() {
		super("图书信息管理系统_操作主界面");
		jLname = new JLabel("用户名称:admin");
		jLname.setFont(new Font("宋体", Font.BOLD, 16));
		jLname.setBounds(950, 5, 200, 30);
		jL1 = new JLabel("操作:");
		jL1.setFont(new Font("宋体", Font.BOLD, 20));
		jL1.setBounds(20, 40, 200, 30);
		
		
		
		jB3 = new JButton("查询图书信息");
		jB3.setBounds(100, 75, 150, 30);
		jB3.addActionListener(this);
		
		jB4 = new JButton("添加图书信息");
		jB4.setBounds(100, 125, 150, 30);
		jB4.addActionListener(this);
		
		jB5 = new JButton("更新图书信息");
		jB5.setBounds(100, 175, 150, 30);
		jB5.addActionListener(this);
		
		jB6 = new JButton("删除图书信息");
		jB6.setBounds(100, 225, 150, 30);
		jB6.addActionListener(this);
		
		
		SignOut = new JButton("退出登录");
		SignOut.setBounds(460, 155, 110, 30);
		SignOut.addActionListener(this);
		
		background = new ImageIcon("e:\\\\图片/图标/cloud.png"); // 创建一个背景图片
		jL3 = new JLabel(background); // 把背景图片添加到标签里
		jL3.setBounds(950, 35, background.getIconWidth(), background.getIconHeight()); // 把标签设置为和图片等高等宽
		myPanel = (JPanel) this.getContentPane(); // 把我的面板设置为内容面板
		myPanel.setOpaque(false); // 把我的面板设置为不可视
		myPanel.setLayout(new FlowLayout()); // 把我的面板设置为流动布局
		this.getLayeredPane().setLayout(null); // 把分层面板的布局置空
		this.getLayeredPane().add(jL3, new Integer(Integer.MIN_VALUE));
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container winContainer = this.getContentPane();
		winContainer.setLayout(null);
		winContainer.add(jLname);
		
		winContainer.add(jB3);
		winContainer.add(jB4);
		winContainer.add(jB5);
		winContainer.add(jB6);
		winContainer.add(SignOut);
		this.setSize(600, 400);
		this.setVisible(true);
		this.setLocationRelativeTo(null);
	}

	public static void main(String[] args) {
		IndexActivity w2 = new IndexActivity();

	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
		if (e.getSource() == jB3) {
			this.setVisible(false);
			// 查询信息
			SearchInfoActivity w6 = new SearchInfoActivity();
		}
		
		if (e.getSource() == jB4) {
			this.setVisible(false);
			// 添加信息
			AddInfoActivity w5 = new AddInfoActivity();
		}
		if (e.getSource() == jB5) {
			this.setVisible(false);
			// 更新信息
			UpdateInfoActivity w5 = new UpdateInfoActivity();
		}
		if (e.getSource() == jB6) {
			this.setVisible(false);
			// 删除信息
			DeleteInfoActivity w5 = new DeleteInfoActivity();
		}
		if (e.getSource() == SignOut) {
			this.setVisible(false);
			// 登录界面
			LoginActivity w1 = new LoginActivity();
		}

	}

}

SearchInfoActivity

package com.sjsq.view;
import com.sjsq.util.*;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;
/**
 * 
 * 查询图书
 *
 */
public class SearchInfoActivity extends JFrame implements ActionListener {
	static IndexActivity w2;
	JLabel jL1, jL2, jLname;
	JButton jB1, jB2;
	JTextField jF1, jF;
	JScrollPane scrollPane;
	JTextArea textArea;

	public SearchInfoActivity() {
		super("图书信息管理系统_查询图书信息");
		jLname = new JLabel("用户名称:admin");
		jLname.setFont(new Font("宋体", Font.BOLD, 16));
		jLname.setBounds(950, 5, 200, 30);
		jL1 = new JLabel("编号:");
		jL1.setFont(new Font("宋体", Font.BOLD, 20));
		jL1.setBounds(20, 60, 200, 30);
		jF1 = new JTextField("", 20);
		jF1.setBounds(110, 60, 280, 30);
		jF1.setFont(new Font("宋体", Font.BOLD, 15));
		jF1.addFocusListener(new JTextFieldHintListener(jF1, "请输入书籍编号"));
		jF = new JTextField("", 20);
		jB1 = new JButton("查询");
		jB1.setBounds(60, 170, 60, 30);
		jB1.addActionListener(this);
		jB2 = new JButton("返回");
		jB2.setBounds(250, 170, 60, 30);
		jB2.addActionListener(this);
		// 创建文本区域组件
		textArea = new JTextArea();
		textArea.setLineWrap(true); // 自动换行
		textArea.setFont(new Font("sssssssss", Font.PLAIN, 18)); // 设置字体
		// 创建滚动面板, 指定滚动显示的视图组件(textArea), 垂直滚动条一直显示, 水平滚动条从不显示
		scrollPane = new JScrollPane(textArea, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
				ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		scrollPane.setBounds(400, 50, 660, 160);
		Container winContainer = this.getContentPane();
		winContainer.setLayout(null);
		winContainer.add(jLname);
		winContainer.add(jL1);
		winContainer.add(jF1);
		winContainer.add(jF);
		winContainer.add(jB1);
		winContainer.add(jB2);
		winContainer.add(scrollPane);
		this.setSize(1100, 400);
		this.setVisible(true);
		this.setLocationRelativeTo(null);
		jF.requestFocus();
		try {
			SQLTxt.searchAllTxtFile();
			textArea.setText(SQLTxt.getreadStr());
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static void main(String[] args) throws Exception {
		SearchInfoActivity w6 = new SearchInfoActivity();

	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub

		if (e.getSource() == jB1) {
			if (jF1.getText().toString() != null && jF1.getText().toString().length() > 0) {
				if (jF1.getText().toString().equals("search.all")) {
					try {
						SQLTxt.searchAllTxtFile();
						textArea.setText(SQLTxt.getreadStr());
						JOptionPane.showMessageDialog(w2, "查询成功", "提示", 1);
						// System.out.println(SQLTxt.getreadStr());
					} catch (UnsupportedEncodingException e1) {
						// TODO Auto-generated catch block
						JOptionPane.showMessageDialog(w2, "查询失败", "提示", 1);
						e1.printStackTrace();

					}
				} else {
					try {
						SQLTxt.searchTxtFile(jF1.getText().toString());
						textArea.setText(SQLTxt.getreadStr());
						JOptionPane.showMessageDialog(w2, "查询成功", "提示", 1);
						// System.out.println(SQLTxt.getreadStr());
					} catch (UnsupportedEncodingException e1) {
						// TODO Auto-generated catch block
						JOptionPane.showMessageDialog(w2, "查询失败", "提示", 1);
						e1.printStackTrace();

					}
				}
			} else {
				JOptionPane.showMessageDialog(w2, "输入不为空", "提示", 1);

			}

		} else if (e.getSource() == jB2) {
			this.setVisible(false);
			w2 = new IndexActivity();
		}
	}

}

Book

package com.sjsq.vo;

import java.io.Serializable;
/**
 * 
 * 图书类
 *
 */
public class Book implements Serializable {
	String name;
	String introduce;

	public Book(String name, String introduce) {
		super();
		this.name = name;
		this.introduce = introduce;
	}

	public String toString() {
		return "Book (书名=[" + name + "], 简介=[" + introduce + "])";
	}

}

JTextFieldHintListener

package com.sjsq.util;

import java.awt.Color;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
 
import javax.swing.JTextField;
/**
 *  
 * 输入监听
 *
 */
public class JTextFieldHintListener implements FocusListener {
	private String hintText;
	private JTextField textField;
	public JTextFieldHintListener(JTextField jTextField,String hintText) {
		this.textField = jTextField;
		this.hintText = hintText;
		jTextField.setText(hintText);  //默认直接显示
		jTextField.setForeground(Color.GRAY);
	}
 
	@Override
	public void focusGained(FocusEvent e) {
		//获取焦点时,清空提示内容
		String temp = textField.getText();
		if(temp.equals(hintText)) {
			textField.setText("");
			textField.setForeground(Color.BLACK);
		}
		
	}
 
	@Override
	public void focusLost(FocusEvent e) {	
		//失去焦点时,没有输入内容,显示提示内容
		String temp = textField.getText();
		if(temp.equals("")) {
			textField.setForeground(Color.GRAY);
			textField.setText(hintText);
		}
		
	}
 
}

四、源码下载

1.登录说明

1.系统登录:账号:admin  密码:admin;

2.文件存储:BookInfo.txt。

2.下载地址

私信我

五、其他事宜

1.更多系统

Java+Swing系统系列实现

Java+Swing实现超市管理系统-TXT存储数据

Java+Swing实现自助取款机系统-TXT存储数据

Java+Swing实现宠物商店管理系统-TXT存储数据

Java+Swing实现通讯录管理系统-TXT存储信息

Java+Swing实现斗地主游戏

Java+Swing实现图书管理系统

Java+Swing实现医院管理系统

Java+Swing实现考试管理系统

Java+Swing实现酒店管理系统

Java+Swing实现超市管理系统1

Java+Swing实现超市管理系统2

Java+Swing实现电影购票系统

Java+Swing实现仓库管理系统-1

Java+Swing实现仓库管理系统-2

Java+Swing实现进销存管理系统

Java+Swing实现自助取款机系统

Java+Swing实现通讯录管理系统

Java+Swing实现停车场管理系统

Java+Swing实现学生信息管理系统-1

Java+Swing实现学生信息管理系统-2

Java+Swing实现学生宿舍管理系统

Java+Swing实现学生选课管理系统

Java+Swing实现学生成绩管理系统

Java+Swing实现学校教材管理系统

Java+Swing实现学校教务管理系统

Java+Swing实现企业人事管理系统

Java+Swing实现电子相册管理系统

Java+JSP系统系列实现

Java+JSP实现学生图书管理系统

Java+JSP实现学生信息管理系统

Java+JSP实现用户信息管理系统

Java+JSP实现教师信息管理系统

Java+JSP实现学生宿舍管理系统

Java+JSP实现商品信息管理系统

Java+JSP实现宠物信息管理系统

Java+JSP实现学生成绩管理系统

Java+Servlet系统系列实现

Java+Servlet+JSP实现航空订票系统

Java+Servlet+JSP实现新闻发布系统

Java+Servlet+JSP学生宿舍管理系统

Java+Servlet+JSP实现图书管理系统

Java+Servlet+JSP实现停车场管理系统

Java+Servlet+JSP实现房屋租赁管理系统

Java+Servlet+JSP实现学生信息管理系统

Java+Servlet+JSP实现学生选课管理系统

Java+Servlet+JSPl实现学生选课签到系统

Java+Servlet+JSP实现宠物诊所管理系统

Java+Servlet+JSP实现学生成绩管理系统-1

Java+Servlet+JSP实现学生成绩管理系统-2

Java+SSM系统系列实现

Java+SSM+JSP实现网上考试系统

Java+SSM+JSP实现宠物商城系统

Java+SSM+JSP实现超市管理系统

Java+SSM+JSP实现学生成绩管理系统

Java+SSM+JSP实现学生信息管理系统

Java+SSM+JSP实现药品信息管理系统

Java+SSM+JSP实现汽车信息管理系统

Java+SSM+Jspl实现商品信息管理系统

Java+SSM+JSP+Maven实现网上书城系统

Java+SSM+JSP+Maven实现学校教务管理系统

Java+SSH系统系列实现

Java+SSH+JSP实现在线考试系统

Java+SSH+JSP实现医院在线挂号系统

Java+Springboot系统系列实现

Java+Springboot+H-ui+Maven实现营销管理系统

Java+Springboot+Bootstrap+Maven实现网上商城系统

Java+Springboot+Bootstrap+Maven实现景区旅游管理系统

1.更多JavaWeb系统请关注专栏。

https://blog.csdn.net/helongqiang/category_10020130.html

2.更多JavaSwing系统请关注专栏。

https://blog.csdn.net/helongqiang/category_6229101.html

2.运行项目

关注B站:水坚石青

后期有更多干货视频推出!!!

Eclipse如何导入JavaSwing项目超详细教程

3.侵权事宜

如有侵权请联系我删除。

4.支持博主

如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件无线电安全之HackRF One初探

HackRF介绍 HackRF是一款开源软件无线电(SDR)平台,由Great Scott Gadgets公司推出。它具有广泛的频率覆盖范围,从1 MHz到6 GHz,支持大部分常见的无线通信频段。采用软件定义无线电技术,HackRF提供了自定义…

vue快速入门(二十四)输入停顿再进行响应

注释很详细&#xff0c;直接上代码 上一篇 新增内容 使用侦听器监视数据变化情况使用clearTimeout与定时器实现停顿一段时间再操作内容 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"view…

【王道数据结构笔记】顺序表的动态分配代码分析

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;数据结构 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

docker 安装 nginx + httpd + php-fpm

原文地址&#xff1a;http://www.taoluyuan.com/index.php/archives/30/#2 展示 1.安装 1.1安装docker 1.2安装nginx 1.3安装apache-httpd 1.4安装php-fpm 2.配置nginx反向代理 httpdphp-fmp 1.安装 1.1安装docker 移除旧的版本&#xff1a; sudo yum remove docker 安装…

redis-plus-plus的安装与使用

本文参考自 redis-plus-plus 官方文档 一、安装 因为redis-plus-plus是基于hiredis封装的&#xff0c;所以需要先安装hiredis&#xff1b; 第一步&#xff1a;安装hiredis # 使用git下载源代码 git clone https://github.com/redis/hiredis.git # 进入源代码主目录 cd hired…

ChatGPT在线网页版

ChatGPT镜像 今天在知乎看到一个问题&#xff1a;“平民不参与内测的话没有账号还有机会使用ChatGPT吗&#xff1f;” 从去年GPT大火到现在&#xff0c;关于GPT的消息铺天盖地&#xff0c;真要有心想要去用&#xff0c;途径很多&#xff0c;别的不说&#xff0c;国内GPT的镜像…

LangChain LangServe 学习笔记

LangChain LangServe 学习笔记 0. 引言1. LangServe 概述2. 特性3. 限制4. 安装5. 示例应用程序6. OpenAPI文档7. Python SDK 客户端8. Playground9. 聊天可运行页面 0. 引言 使用 LangServe 可以立即将您的LLM应用程序变成 API 服务器。 LangServe 使用 FastAPI 构建&#x…

5. Mysql的binlog介绍

参考&#xff1a;InnoDB学习&#xff08;三&#xff09;之BinLog 1. BinLog介绍 BinLog又称为二进制日志&#xff0c;是MySQL服务层的数据日志&#xff0c;MySQL所有的存储引擎都支持BinLog。 BinLog记录了MySQL中的数据更新和可能导致数据更新的事件&#xff0c;可以用于主从…

大数据深度学习:基于Tensorflow深度学习卷积神经网络CNN算法垃圾分类识别系统

文章目录 大数据深度学习&#xff1a;基于Tensorflow深度学习卷积神经网络CNN算法垃圾分类识别系统一、项目概述二、深度学习卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff09;三、部分数据库架构四、系统实现系统模型部分核心代码模型训…

【C++】模板初阶——泛型编程、函数模板、类模板

1. 泛型编程 如何实现一个通用的交换函数呢&#xff1f; void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } void Swap(char& left…

双向链表的实现(详解)

目录 前言初始化双向链表的结构为双向链表的节点开辟空间头插尾插打印链表尾删头删查找指定位置之后的插入删除pos节点销毁双向链表 前言 链表的分类&#xff1a; 带头 不带头 单向 双向 循环 不循环 一共有 (2 * 2 * 2) 种链表 带头指的是&#xff1a;带有哨兵位节点 哨兵位&a…

关于部署ELK和EFLK的相关知识

文章目录 一、ELK日志分析系统1、ELK简介1.2 ElasticSearch1.3 Logstash1.4 Kibana&#xff08;展示数据可视化界面&#xff09;1.5 Filebeat 2、使用ELK的原因3、完整日志系统的基本特征4、ELK的工作原理 二、部署ELK日志分析系统1、服务器配置2、关闭防火墙3、ELK ElasticSea…

个人笔记目录

目录 一、lora 微调 alpaca 笔记 二、全量微调 Llama2-7b笔记 三、Huggingface trainer 与 from_pretrained简单介绍&#xff08;笔记&#xff09; 四、vscode调试launch.json常用格式 五、huggingface generate函数简介 六、Trl: llama2-7b-hf使用QLora 4bit量化后ds zer…

自动化收集Unity版本更新日志

自动化收集Unity版本更新日志 &#x1f365;功能介绍&#x1f96a;食用手册填写配置开始搜集 &#x1f368;数据展示 &#x1f365;功能介绍 &#x1f4a1;获取指定年份中所有的Unity版本更新日志。 &#x1f4a1;根据指定字符串过滤。 &#x1f4a1;.收集后自动保存成markdow…

Redis队列与Stream

Redis队列与Stream、Redis 6多线程详解 Redis队列与StreamStream总述常用操作命令生产端消费端单消费者消费组消息消费 Redis队列几种实现的总结基于List的 LPUSHBRPOP 的实现基于Sorted-Set的实现PUB/SUB&#xff0c;订阅/发布模式基于Stream类型的实现与Java的集成消息队列问…

OpenHarmony实战开发-FaultLoggerd组件。

简介 Faultloggerd部件是OpenHarmony中C/C运行时崩溃临时日志的生成及管理模块。面向基于 Rust 开发的部件&#xff0c;Faultloggerd 提供了Rust Panic故障日志生成能力。系统开发者可以在预设的路径下找到故障日志&#xff0c;定位相关问题。 架构 Native InnerKits 接口Sig…

向量 | vector;标量 | scalar;矩阵;张量

目录 什么是标量 什么是向量? 向量的3种表达方式 向量的矩阵表示 什么是矩阵 什么是张量 什么是标量 标量只有大小概念,没有方向的概念。通过一个具体的数值就能表达完整。 比如:重量、温度、长度、提及、时间、热量等都数据标量。

绝地求生:杜卡迪“PANIGALE V4 S”摩托车 最全六色测评 游戏内效果展示

PUBG最新联名的杜卡迪摩托车大家都抽到或者换到心仪的颜色了吗 或许有人还在纠结换什么颜色 那么今天给大家带来全网最全颜色测评供大家参考 看看你喜欢哪个吧~ 极速金 2500代币 叛逆玫瑰 2500代币 暮光粉 2500代币 翡翠绿 2500代币 杜卡迪红 1500代币 纯净黑 1500代币 那本期测…

Java开发从入门到精通(二十):Java的面向对象编程OOP:Stream流

Java大数据开发和安全开发 &#xff08;一&#xff09;Java的新特性&#xff1a;Stream流1.1 什么是Stream?1.2 Stream流的使用步骤1.3 获取Stream流1.4 Stream流常见的中间方法1.5 Stream流常见的终结方法 &#xff08;一&#xff09;Java的新特性&#xff1a;Stream流 1.1 …

GNU Radio创建Zadoff-Chu序列C++ OOT块

文章目录 前言一、ZC序列是什么&#xff1f;二、创建自定义的 C OOT 块1、创建 OOT 模块2、创建 OOT 块3、修改 C 文件4、编译及安装 OOT 块 三、测试1、grc 图2、运行结果①、时域图②、时域幅值模图③、IQ 曲线 四、其他五、资源自取 前言 本文实现在 GNU Radio 中创建 Zado…