Java实例实验项目大全源码企业通讯打印系统计划酒店图书学生管理进销存商城门户网站五子棋

简介: Java实例实验项目大全源码企业通讯打印系统计划酒店图书学生管理进销存商城门户网站五子棋

1、企业通讯

需求分析

1.操作简单,界面友好。

2.规范、完善的基础信息设置。

3.支持网络通信。

4.支持系统托盘和程序最小化功能,避免影响其他工作。

5.使用独立的本地数据库。

6.自动搜索和手动添加网络内的通信用户

7.提供用户的更名、删除等操作。


系统功能结构


92fbda05eb47c82a2a33aa8fba7a935.png

系统业务流程


fc011057e9147621f98e7d6df8c7e5a.png

数据库设计


①tb_users表

ip:用户IP地址

host:主机名称

name:姓名

tooltip:提示文本

icon:头像


②tb_location表

xLocation:X轴坐标

yLocation:Y轴坐标

width:窗体宽度

heigth:窗体高度


主窗体设计


0b3f3c462dca3a11208e60a891289b1.png

创建面板、按钮、数据库接口、套接字等关键属性——》编写窗体构造方法,包括开启套接字——》获取本地用户本信息——》记录窗体位置


公共模块设计、系统托盘模块设计、系统工具模块设计、用户管理模块设计和通信模块设计等详见下载。


部分源码如下,其余完整详见下载。


public class EQ extends Dialog {
  public static EQ frame = null;// 主窗体本类对象
  private JTextField ipEndTField;// IP搜索范围结束值
  private JTextField ipStartTField;// IP搜索范围开始值
  private ChatTree chatTree;// 用户列表树
  private JPopupMenu popupMenu;// 鼠标右键菜单(弹出式菜单)
  private JTabbedPane tabbedPane;// 主标签面板
  private JToggleButton searchUserButton;//
  private JProgressBar progressBar;// 鼠标右键菜单(弹出式菜单)
  private JList faceList;// 界面风格集合
  private JButton selectInterfaceOKButton;// 确定界面效果按钮
  private DatagramSocket ss;// UDP套接字
  private final JLabel stateLabel;// 底部状态栏标签
  private Rectangle location;// 窗口位置对象
  public static TrayIcon trayicon;// 系统托盘图标
  private Dao dao;// 数据库接口
  public final static Preferences preferences = Preferences.systemRoot();// 创建首选项对象,使用系统的根首选项节点。此对象可以保存我们偏好设置
  private JButton userInfoButton;// 用户信息按钮
  public static void main(String args[]) {
  try {
    String laf = preferences.get("lookAndFeel", "java默认");
    if (laf.contains("当前系统"))// 如果字符串包含“当前系统”字样
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());// 获取本机的窗体外观
    EQ frame = new EQ();
    frame.setVisible(true);
    frame.SystemTrayInitial();// 初始化系统栏
    frame.server();// 启动服务器
  } catch (Exception e) {
    e.printStackTrace();
  }
  }


2、快递打印系统

需求分析

1.操作简单,界面友好。

2.规范、完善的基础信息设置。

3.支持打印功能。

4.使用独立的本地数据库。

5.可以添加、维护快递单信息。

6.提供用户的添加、修改密码操作。


系统功能结构

0b9f4e149708212f3d65c50931e6c8b.png

数据库设计


①tb_user表

id:编号

username:用户名

password:密码


②tb_ receiveSendMessage表

id:流水号

sendName:寄件人姓名

sendTelephone:寄件人区号电话

sendCompary:寄件单位

sendAddress:寄件人地址

sendPostcode:寄件人邮编

receiveName:收件人姓名

recieveTelephone:收件人区号电话

recieveCompary:收件单位

receiveAddress:收件人地址

receivePostcode:收件人邮编

ControlPosition:打印位置

expressSize:快递单的尺寸


系统登录模块设计


6f93e22716886c98a3fcd311600ca6c.png

设计界面——》调用后台数据库接口,校验用户身份——》跳转主页面


系统主界面模块设计


e1eb7f9e324196e376c34b7f3841796.png


创建窗体——》设计菜单——》添加监听


添加快递信息模块设计

722a8e71be64fb1e706b756e2176e4e.png


公共模块设计、修改快递信息模块设计、打印快递单与打印设置模块设计、添加用户窗体模块设计和修改用户密码窗体模块设计等详见下载。


部分源码如下,其余详见下载。


public class MainFrame extends JFrame {
  private static final long serialVersionUID = 1L;
  private JPanel jContentPane = null;
  private URL url = null;// 声明图片的URL
  private Image image = null;// 声明图像对象
  private BackgroundPanel jPanel = null;// 声明自定义背景面板对象
  private JMenuBar jJMenuBar = null;
  private JMenu jMenu = null;// 快递单管理
  private JMenuItem addExpressMI = null;// 添加快递单
  private JMenuItem updateExpressMI = null;// 修改快递单
  private JMenu printManagementMenu = null;// 打印管理菜单
  private JMenu systemMenu = null;// 系统菜单
  private JMenuItem printMI = null;// 打印菜单
  private JMenuItem changePasswordMI = null;// 修改密码菜单
  private JMenuItem exitMI = null;// 退出菜单
  private JMenuItem addUserMI = null;// 添加用户菜单
  /**
  * 主窗体构造方法
  */
  public MainFrame() {
  super();
  initialize();
  }
  /**
  * 窗体初始化
  */
  private void initialize() {
  this.setSize(1017, 584);// 设置大小
  this.setJMenuBar(getJJMenuBar());// 设置菜单栏
  this.setTitle("蓝宇快递打印系统");// 标题
  this.setContentPane(getJContentPane());// 设置主容器
  }
  /**
  * 获取窗体主容器面板
  */
  private JPanel getJContentPane() {
  if (jContentPane == null) {
    jContentPane = new JPanel();
    jContentPane.setLayout(new BorderLayout());
    jContentPane.add(getJPanel(), BorderLayout.CENTER);
  }
  return jContentPane;
  }
  /**
     *  背景面板
     */
  private BackgroundPanel getJPanel() {
  if (jPanel == null) {
    url = MainFrame.class.getResource("/image/主界面.jpg"); // 获得图片的URL
    image = new ImageIcon(url).getImage(); // 创建图像对象
    jPanel = new BackgroundPanel(image);
    jPanel.setLayout(null);
  }
  return jPanel;
  }
  /**
     *  获取菜单栏
     */
  private JMenuBar getJJMenuBar() {
  if (jJMenuBar == null) {
    jJMenuBar = new JMenuBar();
    jJMenuBar.add(getJMenu());
    jJMenuBar.add(getprintManagementMenu());
    jJMenuBar.add(getsystemMenu());
  }
  return jJMenuBar;
  }


3、开发计划管理系统

需求分析

1.操作简单方便,界面简洁大方。

2.保证系统的安全性。

3.支持对整个开发计划的管理。

4.支持对个人开发进度的管理。

5.支持对公司人员的管理。

6.支持对公司部门的管理。

7.支持用户添加和密码修改操作。


系统功能结构


2269fe5e41b6b227e7a1850ca4ff87a.png

数据库设计

4521d7a226a9aaf23bd778b6ef00d44.png


部门信息表

d56ac9363f546b46ad1198214f39d37.png

图书计划表

074e6a8fd51766be330d099709cfab6.png


公共模块设计


7f27aa7600d759688534c152c3d7754.png

系统主窗体设计

f3d2f598d804c24675653be34fab282.png


系统登录模块设计、部门信息管理模块设计、基本资料模块设计和图书项目模块设计等详见下载。


部分源码如下,其余完整详见下载。


public class ProjectFrame extends JFrame {
    /**
     * 工具按钮的事件监听处理器
     * 
     * @author Administrator
     */
    private final class ToolsButtonActionAdapter extends ActionAdapter {
        @Override
        public void actionPerformed(ActionEvent e) {
            String command = e.getActionCommand();
            showPanel(command);
        }
    }
    private Point spoint;
    private static final long serialVersionUID = 1L;
    private BGPanel jContentPane = null;
    private BGPanel bgPanel = null;
    private GlassButton workSpaceButton = null;
    private GlassButton progressButton = null;
    private GlassButton bookProjectButton = null;
    private BGPanel jPanel = null; // @jve:decl-index=0:visual-constraint="10,678"
    private BGPanel leftPanel2 = null;
    private BGPanel functionPanel = null;
    private BGPanel locationPanel = null;
    private JLabel jLabel3 = null;
    private JLabel currentLocationLabel = null;
    private BGPanel mainPanel = null;
    private MyWorkspacePanel myWorkspacePanel = null;
    private ToolsButtonActionAdapter toolsButtonActionAdapter; // @jve:decl-index=0:
    private BookProjectPanel bookProjectPanel = null;
    private ProgressManagePanel progressManagePanel = null;
    private BGPanel jPanel4 = null;
    private BGPanel bgPanel2 = null;
    private BGPanel bgPanel1 = null;
    private SmallScrollPanel moduleButtonGroup = null;
    private GlassButton personnelManagerButton = null;
    private PersonnelPanel personnelPanel = null;
    private DeptPanel deptPanel = null;
    private GlassButton deptManageButton = null;
    private AlphaScrollPane jScrollPane = null;
    private ButtonGroup buttonGroup = null; // @jve:decl-index=0:visual-constraint="505,680"
    private JPanel workPanel = null;
    private BGPanel personnelManagePanel = null;
    private BGPanel loginInfoPanel = null;
    private ButtonGroup faceButtonGroup = null; // @jve:decl-index=0:visual-constraint="587,680"
    private JLabel jLabel = null;
    private PersonnelTree personnelTree = null;
    private BGPanel treeToolsBar = null;
    private JLabel jLabel1 = null;
    private JButton refrenshButton = null;
    private ClockPanel clockPanel = null;
    private JLabel jLabel2 = null;
    private JLabel jLabel4 = null;
    private JLabel jLabel5 = null;
    private JPanel jPanel1 = null;
    /**
     * This is the default constructor
     */
    public ProjectFrame() {
        super();
        toolsButtonActionAdapter = new ToolsButtonActionAdapter();
        initialize();
    }



4、酒店管理系统

系统功能概述

根据酒店管理的特点,可以将酒店管理系统划分为前台服务、后台管理、结账报表和系统安全四大功能模块,其中系统安全模块用来维护系统的正常运行,这些模块包含的具体功能如下图所示。

1ef2b292d10d69a434618b7635945b0.png


数据库设计


9f5cfdaaeab4d259fdfd38f4cc2d951.png

通用模块设计


本系统在数据持久层共包含三个类,分别为JDBC.java、BaseDao.java和Dao.java,这三个类均在com.mwq.dao包下JDBC类的主要功能是用来加载数据库驱动程序,并提供建立和关闭数据库连接的方法。其中加载数据库驱动程序的动作是在静态代码块中完成的,这样做的好处是只在该类第一次被加载(即第一次被调用)时执行加载数据库驱动程序的动作,避免了反复加载数据库驱动程序,从而提高了软件的性能BaseDao类的主要功能是用来封装访问数据库的方法,共有5个方法,在这5个方法中将调川JDBC类中的方法获得数据库连接,这5个方法的功能在后面将做详细介绍Dao类的主要功能是用来封装访问数据库的SQL语句,然后通过调用BaseDao类中的方法执行SQL语句。


系统主窗体设计

本系统的主窗体设计效果如下图所示,窗体的上半部分为开台签单工作区,下半部分的几列从左到右依次为系统信息区、自动结账工作区、后台管理工作区、结账报表工作区和系统安全工作区。


34ab1820372d66a3650865fb94ee435.png

用户登录窗口设计、开台签单工作区设计、自动结账工作区设计、结账报表工作区设计和后台管理工作区设计等详见下载。


部分源码如下,其余详见下载。

package com.mwq;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import com.mwq.frame.LandFrame;
public class DrinkeryManage {
  public DrinkeryManage() {
    // Center the window
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    Dimension screenSize = toolkit.getScreenSize();
    LandFrame landFrame = new LandFrame();
    Dimension frameSize = landFrame.getSize();
    if (frameSize.width > screenSize.width) {
      frameSize.width = screenSize.width;
    }
    if (frameSize.height > screenSize.height) {
      frameSize.height = screenSize.height;
    }
    landFrame.setLocation((screenSize.width - frameSize.width) / 2,
        (screenSize.height - frameSize.height) / 2);
    landFrame.setVisible(true);
  }
  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        try {
          UIManager.setLookAndFeel(UIManager
              .getSystemLookAndFeelClassName());
        } catch (Exception exception) {
          exception.printStackTrace();
        }
        new DrinkeryManage();
      }
    });
  }
}



5、图书馆管理系统

系统功能概述

根据图书管理系统的特点,可以将本系统分为4大功能模块,分别为基础数据维护、图书借阅管理、新书订购管理、系统维护。本系统各个部分及其包括的具体功能模

块如下图所示。

ee65ff3b245de1caac6ca0dd28963b0.png


数据库设计

3c502a5f5cb077dfa93f10b0f66a7ad.png

1796a8dc40636f6da921f982aecdfd3.png

图书信息管理模块设计

图书信息管理模块主要包括图书信息添加、图书信息修改两大功能。在图书信息添加窗体中管理员可以录入图书相关信息。进入图书信息修改窗体后首先窗体表格中显示所有图书的相关信息,管理员可以选择表格中需要修改的某一行数据,当管理员鼠标单击表格中的某一个行数据时,在窗体下方的文本框中显示相应的内容。


16b1353c11269f8260fafe4814c7e26.png

公共模块设计、主窗体设计、登录模块设计、图书借阅归还模块设计、图书查询模块设计和新书订购管理模块等详见下载。


6、学生成绩管理系统

需求分析

1.窗体界面设计友好、美观,方便管理员的日常操作。

2.基本信息的全面设置,数据录入方便、快捷。

3.数据检索功能强大、灵活,提高了日常数据的管理工作。

4.具有良好的用户维护功能。

5.最大限度地实现了系统易维护性和易操作性。

6.系统运行稳定、系统数据安全可靠。


系统结构功能


febc750e66899b6f3a34d7032fedc4e.png

数据库设计

①tb_classinfo( 班级信息表)

d174f41e7caf94ce0eb986cf5fe1a27.png

②tb_examkinds(考试种类表)

e64bd196c82360e07276117feb3ae12.png

③tb_ gradeinfo ( 年级信息表)

43c0ea2fd498cd0367c1c547f33d67b.png

④tb_gradeinfo_sub ( 考试科目成绩表)


9b4da8f1412c51c80cf5b377cf211ed.png

其余详见下载


主窗体模块设计


98e790b31c512cf33f1ed493320f5b1.png

公共模块设计、系统登录模块设计、 班级信息设置模块设计、学生基本信息管理模块设计、学生考试成绩信息管理、基本信息数据查询模块设计和考试成绩班级明细查询模块设计等详见下载。


7、进销存管理系统

系统功能概述

根据企业进销存管理系统的特点,可以将本系统划分为基础信息、进货管理、销售管理、库存管理、查询统计、系统管理共计6大部分,其中各个部分及其包括的具体功能模块如下图所示。


a5a6046509daaa6bb74cdae3cbc746b.png

数据库设计

供应商编号:供应商的ID编号是进销存管理系统中供应商的唯标识,不同的供应商可以通过该编号来区分,该编号是供应商信息表的主键。在本系统中对该编号的编码规则以字符串“gys"为编号前缀,加14为数字做编号的后缀,这4位数字从1000开始。例如( gys1001 )

客户编号:和供应商编号类似,客户的ID编号也是客户的唯标识, 不同的客户将以该编号进行区分,该编号作为客户信息表的主键,有数据的唯性的约 束条件,所以,在客户信息表中不可能有两个相同的客户编号。企业进销存管理系统对客户编号的编码规则以字符串“kh”为编号的前缀,加上4为数字做编号的后缀,这4位数字从1000开始。如kh1002。

销售单编号:销售单编号用于区分不同的销售凭据,该销售单编号的命名规则以“XS"字符串做前缀,加上销售单的销售日期,再以3为数字做后缀,如XS20071205001 。

入库编号:入库岛号用于区分不同的商品入库信息,该编号的命名规则以“RK"字符串做前缀,加上商品的入库日期,再以3为数字做后缀,例如RK20071109003。

入库退货编号:入库退货编号用于区分不同的入库退货信息,该编号的命名规则以"RT”字符串做前缀,加上商品入库的退货日期,再以3为数字做后缀,例如RT20071109001。


主窗体设计

主窗体界面也是该系统的欢迎界面,应用程序的主窗体必须设计层次清晰的系统菜单和工具栏,其中系统菜单包含系统中所有功能的菜单项,而工具栏主要提供常用功能的快捷访问按钮。企业进销存管理系统采用导航面板综合了系统菜单和工具栏的优点,而且导航面板的界面更加美观,操作更快捷。下面我们来看一下程序的运行效果。

14605557c17384933470dd33a269f0b.png


公共模块设计、基础信息模块设计、进货管理模块设计、查询统计模块设计、库存管理模块设计和系统打包发布等详见下载。


8、神奇Book——图书商城

需求分析

1.统一友好的操作界面,具有良好的用户体验

2.图书分类详尽, 可按不同类别查看图书信息

3.最新 上架图书和打折图书的展示

4.会员信息的注册及验证

5.用户可通过关键 字搜索指定的产品信息

6.用户可通过购物车一次购买多件商品

7.实现收银台的功能,用户选择商品后可以在线提交订单.

8. 提供简单的安全模型,用户必须先登录,才允许购买商品

9. 用户可查看自己的订单信息

10.设计网站后台,管理网站的各项基本数据

11.系统运行安全稳定、响应及时


系统功能结构


e74b18fc68a80117a773756ad40674f.png

系统流程图

4e607da0b06bd190e6d3d48b8602ad8.png


首页模块设计

b3029957e606fced3e3b9190366e234.png


公共类设计、会员注册模块设计、会员登录模块设计、购物车模块和后台功能模块等详见下载。


9、企业门户网站

根据企业门户网站的特点,可以将网站分为前、后台两个部分。前台部分主要实现企业与客户交互,后台部分主要实现网站相关信息管理功能。网站前台部分主要包括企业新闻展示、商品信息介绍、公司文化、技术支持、管理员登录等功能模块。网站前台功能结构如下图所示。

4d52c16e79a6ffd5d99852d9f8816cd.png


网站后台部分主要包括企业新闻管理、商品管理、管理员注销等功能模块。网站后台功能结构如下图所示。


ea37b298d03aeba358da13b7ec97680.png

网站首页设计

6df61e7b8d4b6c2791377bbc957fb29.png


公共模块设计、商品介绍模块设计、后台登录模块设计、商品管理模块设计和新闻管理模块设计等详见下载。


10、棋牌游戏系统之网络五子棋

相信每个人都会五子棋游戏,当游戏的一方构成5个连续的棋子,无论是水平方向、垂直方向,还是斜对角线方向,都表示获胜了。对于初学网络的开发人员来说,设计一个网络五子棋游戏再合适不过了。从规模上看,网络五子棋只需要包含客户端和服务器端两个窗口,规模比较小,而本模块设计的是独立运行的客户端,不需要服务器。从功能上看,网络五子棋涉及两台主机间的通信,相互需要传递棋子信息

、控制指令和文本信息,这需要定义一个应用协议来解释数据报,涉及网络开发的许多知识。


编写游戏主窗体,其余详见下载。

97a52a3333419a23f9b822c5facb48a.png

相关文章
|
3天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
14 2
|
7天前
|
人工智能 监控 数据可视化
Java智慧工地信息管理平台源码 智慧工地信息化解决方案SaaS源码 支持二次开发
智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实现全面高效的工程管理需求,满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效,为监管平台提供数据支撑。
24 3
|
12天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
41 3
|
18天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
21天前
|
移动开发 前端开发 JavaScript
java家政系统成品源码的关键特点和技术应用
家政系统成品源码是已开发完成的家政服务管理软件,支持用户注册、登录、管理个人资料,家政人员信息管理,服务项目分类,订单与预约管理,支付集成,评价与反馈,地图定位等功能。适用于各种规模的家政服务公司,采用uniapp、SpringBoot、MySQL等技术栈,确保高效管理和优质用户体验。
|
8天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
17天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?
|
4天前
|
安全 Java 开发者
深入解读JAVA多线程:wait()、notify()、notifyAll()的奥秘
在Java多线程编程中,`wait()`、`notify()`和`notifyAll()`方法是实现线程间通信和同步的关键机制。这些方法定义在`java.lang.Object`类中,每个Java对象都可以作为线程间通信的媒介。本文将详细解析这三个方法的使用方法和最佳实践,帮助开发者更高效地进行多线程编程。 示例代码展示了如何在同步方法中使用这些方法,确保线程安全和高效的通信。
22 9
|
7天前
|
存储 安全 Java
Java多线程编程的艺术:从基础到实践####
本文深入探讨了Java多线程编程的核心概念、应用场景及其实现方式,旨在帮助开发者理解并掌握多线程编程的基本技能。文章首先概述了多线程的重要性和常见挑战,随后详细介绍了Java中创建和管理线程的两种主要方式:继承Thread类与实现Runnable接口。通过实例代码,本文展示了如何正确启动、运行及同步线程,以及如何处理线程间的通信与协作问题。最后,文章总结了多线程编程的最佳实践,为读者在实际项目中应用多线程技术提供了宝贵的参考。 ####
|
4天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin