iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >基于Java怎么实现简易的局域网对话系统
  • 401
分享到

基于Java怎么实现简易的局域网对话系统

2023-06-22 04:06:57 401人浏览 八月长安
摘要

基于Java怎么实现简易的局域网对话系统,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。先说一下写的确实比较一般,别喷为什么呢,疫情原因,学校提前两周期末考试,时间也不太充足,将

基于Java怎么实现简易的局域网对话系统,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

先说一下

写的确实比较一般,别喷

为什么呢,疫情原因,学校提前两周期末考试,时间也不太充足,将就一下

服务器代码:

package xcvcvcx;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Socket;import java.NIO.charset.StandardCharsets;import java.util.HashMap;import java.util.Map;public class Server {  static int index = 0;  static BufferedWriter[] userWrite = new BufferedWriter[100];  static BufferedReader[] userRead = new BufferedReader[100];  static Socket[] userSocket = new Socket[100];  static String[] userId = new String[100];  static String[] userName = new String[100];  public static void main(String[] args) throws IOException {    ServerSocket ss = new ServerSocket(6666); // 监听指定端口    System.out.println("server is running...");    index = 0;    for (;;) {      Socket sock = ss.accept();      String idd = sock.getRemoteSocketAddress().toString();      System.out.println("connected from " + sock.getRemoteSocketAddress());      userSocket[index] = sock;      Thread t = new Handler(sock);      ((Handler) t).userId = idd;      userId[index]=((Handler) t).userId =idd;      t.start();    }  }}class Handler extends Thread {  Socket sock;  BufferedWriter writer;  BufferedReader reader;  String username;  String userId;  public Handler(Socket sock) {    this.sock = sock;  }  public void synMessage(Map<String,String> message) throws IOException {    BufferedWriter writer;    BufferedWriter[] user =Server.userWrite;    int isall =1;    String dis = "a";    if ( message.get("messageclass").toString().equals("nORMally")  ){      dis = message.get("distination");      System.out.println(dis);      System.out.println();      if (dis.equals("all") == false){        System.out.println("no isall");        isall= 0;      }    }    int len = Server.index;    for(int i =0; i< len;i++)    {      if (Server.userWrite[i] == null){        continue;      }      System.out.println("vf");      if (isall == 0){        // 专门的消息        if (Server.userName[i].equals(dis)){          message.put( "distinationId",Server.userId[i] );          writer = user[i];          writer.write(message.toString() + "\n");          System.out.print("专门消息发送成功");          writer.flush();          return;        }        continue;      }      message.put( "distinationId",Server.userId[i] );      if (Server.userWrite[i] == null){        continue;      }      if ( Server.userId[i].equals(this.userId) == false)      {        writer = user[i];        writer.write(message.toString() + "\n");        System.out.print("进来了");        writer.flush();      }else {        writer = user[i];        writer.write(message.toString() + "\n");        System.out.print("进来了");        writer.flush();      }    }  }  public  void synUserList(Map<String,String> message,String Id){    BufferedWriter writer;    BufferedWriter[] user =Server.userWrite;    // 封装 用户列表    // 规定用户名不可以有空格    int len = Server.index;    String userLis = "here";    for (int i = 0; i< len ; i++)    {      System.out.println(userLis);      if (Server.userWrite[i]!=null){        if (message.get("userId").equals(Server.userId[i])){          continue;        }else {          if (Server.userName[i] ==null){            continue;          }          userLis = userLis + " " + Server.userName[i];        }      }    }    message.put( "distinationId",Id);    message.put( "userList",userLis);    message.put("messageclass","synUserList");    for(int i =0; i< len;i++)    {      if (Server.userWrite[i] == null){        continue;      }      if ( Server.userId[i].equals(Id))      {        writer = user[i];        try {          writer.write(message.toString() + "\n");          writer.flush();          return;        } catch (IOException e) {          e.printStackTrace();        }      }    }  }  @Override  public void run() {    try (InputStream input = this.sock.getInputStream()) {      try (OutputStream output = this.sock.getOutputStream()) {        handle(input, output);      }    } catch (Exception e) {      try {        this.sock.close();      } catch (IOException ioe) {      }      System.out.println("client disconnected.");    }  }  private void handle(InputStream input, OutputStream output) throws IOException {    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output, StandardCharsets.UTF_8));    BufferedReader reader = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8));    this.writer = writer;    this.reader = reader;    int inde = Server.index;    Server.index++;    Server.userRead[inde] = reader;    Server.userWrite[inde] = writer;    Map<String,String> message=  new HashMap<String, String>();    message.put("messageclass", "synId");// 普通 消息    message.put( "userId",userId );    message.put( "userIndex",String.valueOf(inde) );    String  to=message.toString();    writer.write(to+'\n');    writer.flush();    for (;;) {      String s = reader.readLine();      if (s == null){        continue;      }//      System.out.print(s);//      synMessages(s);      Map<String, String> mess= Client.mapStringToMap(s);////      System.out.print(s);      if(mess.get("messageclass").toString().equals("normally"))      {        System.out.print("irieowmxn");        synMessage(mess);        continue;      }else  if (mess.get("messageclass").toString().equals("synUserName")){        System.out.println("now synuser");        String id = mess.get("userId");        System.out.println(mess.toString());        username = mess.get("user");        int index = Integer.parseInt( mess.get("userIndex") );        Server.userName[index] = username;        // 同步 在线用户        Map<String,String> synuser=  new HashMap<String, String>();        synuser.put("messageclass", "addUser");// 普通 消息        synuser.put( "userName",username );        synMessage(synuser);        // 同步所以已在线用户, 有新用户 登录        // 其实  我们还需要   回复 该用户,  现在有哪些在线    以便于  后来登录的人   用户列表  无法更新        synUserList(message,id);        continue;      }else if ( mess.get("messageclass").toString().equals("userClose") ){        Map<String,String> synuser=  new HashMap<String, String>();        synuser.put("messageclass", "userClose");// 普通 消息        synuser.put( "userName",username );        synMessage(synuser);        int iin = Integer.parseInt(mess.get("userIndex"));        Server.userWrite[iin] = null;      }      if (s.equals("bye")) {        writer.write("bye\n");        writer.flush();        break;      }    }  }}

客户端:

package xcvcvcx;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.Socket;import java.net.SocketAddress;import java.nio.charset.StandardCharsets;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.Scanner;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.jscrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.WindowConstants;public class Client extends JFrame implements ActionListener ,ItemListener {  private String currentt_userName = null;  //各种组件  JLabel jLabelSeverIP,jLabelSeverPort,jLabelReceiveData,jLabelSentData;  JTextField jTextFieldSeverIP,jTextFieldSeverPort,jTextFieldSentData;  JButton jButtonSetupSever,jButtonCloseNetwork,jButtonSent;  JTextArea jTextAreaReceiveData;  JButton jButtonExit;  // 当前在线用户部分  JLabel jLabelOnlinUser;  JComboBox jComboBoxOnlineUser;  //组件完毕  BufferedReader reader;  BufferedWriter writer;  // 存储用户信息  JLabel jLabelusername;  JTextField jTextFieldusername;  String userId ;  Socket sock;  int userIndex;  // 服务连接相关  String ServerAddress ="192.168.43.240" ; // 可以自己设置  int port = 6666;  public Client(){    init();  }  public void init(){    //初始化    jLabelReceiveData=new JLabel("接受数据:");    jLabelSentData=new JLabel("发送数据:");    jLabelSeverIP=new JLabel("服务器IP");    jLabelSeverPort=new JLabel("服务器端口");    jTextFieldSentData=new JTextField(15);    jTextFieldSeverIP=new JTextField(7);    jTextFieldSeverPort=new JTextField(7);    jButtonCloseNetwork=new JButton("关闭服务");    jButtonSent=new JButton("发送");    jButtonSetupSever=new JButton("开启服务");    jTextAreaReceiveData=new JTextArea(20,15);    JScrollPane scroller = new JScrollPane(jTextAreaReceiveData);    scroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    jTextAreaReceiveData.setWrapStyleWord(true);//设置单词在一行不足容纳时换行    jTextAreaReceiveData.setLineWrap(true);//设置文本编辑区自动换行默认为true,即会"自动换行"    //this.add(editArea,BorderLayout.CENTER);//向窗口添加文本编辑区    jButtonExit = new JButton("退出");    //组件初始化    // 存储  用户信息    jLabelusername = new JLabel("用户名");    jTextFieldusername = new JTextField(10);    jLabelOnlinUser = new JLabel("在线用户");    jComboBoxOnlineUser = new JComboBox();    jComboBoxOnlineUser.addItemListener(this::itemStateChanged);    jComboBoxOnlineUser.addItem("self");    JPanel panel1=new JPanel();    panel1.setLayout(new FlowLayout());    panel1.add(jLabelSeverIP);    panel1.add(jTextFieldSeverIP);    panel1.add(jLabelSeverPort);    panel1.add(jTextFieldSeverPort);    panel1.add(jButtonSetupSever);    panel1.add(jButtonCloseNetwork);    JPanel panel2=new JPanel();    panel2.add(jLabelReceiveData);    JPanel jPaneluserinfor = new JPanel();    jPaneluserinfor.setLayout(new FlowLayout());    jPaneluserinfor.add(jLabelusername);    jPaneluserinfor.add((jTextFieldusername));    jPaneluserinfor.add(jLabelOnlinUser);    jPaneluserinfor.add(jComboBoxOnlineUser);    JPanel jPanel1=new JPanel();    jPanel1.setLayout(new GridLayout(3,1));    jPanel1.add(panel1);    jPanel1.add(jPaneluserinfor);    jPanel1.add(panel2);    JPanel panel3=new JPanel();    panel3.setLayout(new FlowLayout());    panel3.add(jLabelSentData);    JPanel panel4=new JPanel();    panel4.setLayout(new FlowLayout());    panel4.add(jTextFieldSentData);    panel4.add(jButtonSent);    panel4.add(jButtonExit);    JPanel jPanel2=new JPanel();    jPanel2.setLayout(new GridLayout(2,1));    jPanel2.add(panel3);    jPanel2.add(panel4);    JPanel jPanel=new JPanel();    jPanel.setLayout(new BorderLayout());    jPanel.add(jPanel1,BorderLayout.NORTH);    jPanel.add(scroller,BorderLayout.CENTER);    jPanel.add(jPanel2,BorderLayout.SOUTH);    //完成组件组合    jButtonSent.addActionListener(this);    jButtonSetupSever.addActionListener(this);    jButtonCloseNetwork.addActionListener(this);    jButtonExit.addActionListener(this);    setSize(600,400);    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);    add(jPanel);    setVisible(true);    //显示    jButtonCloseNetwork.setEnabled(false);    jTextFieldSeverIP.setText(ServerAddress);    jTextFieldSeverPort.setText(String.valueOf(port));    jTextAreaReceiveData.append("本程序只用于简单演示,\n若要修改服务器地址或端口,请修改指定代码,暂不支持手动指定\n\n\n");    // 连接服务器    try {      Socket sock = new Socket(ServerAddress, port);      this.sock = sock;      try (InputStream input = sock.getInputStream()) {        try (OutputStream output = sock.getOutputStream()) {          BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output, StandardCharsets.UTF_8));          BufferedReader reader = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8));          SocketAddress id =  sock.getRemoteSocketAddress();          userId = sock.getRemoteSocketAddress().toString();          this.writer =writer;          this.reader = reader;          while(true)            for (; ; ) {              String resp = reader.readLine();              while (resp == null) {                resp = reader.readLine();              }              System.out.println("<<< " + resp);              Map<String, String> message = mapStringToMap(resp);              if (message.get("messageclass").equals("synId")) {                System.out.println(userId);                userId = message.get("userId");                System.out.println(message.keySet());                System.out.println(userId);                // 更新 服务器 接口 处的  内容                jTextAreaReceiveData.append("已为您成功分配id  请填写用户名,并开启服务");                jTextAreaReceiveData.append(resp);                jTextAreaReceiveData.append("\n");                userIndex = Integer.parseInt(message.get("userIndex"));                continue;              } else if (message.get("messageclass").equals("normally")) {                resp = message.toString();                System.out.print("748328");                // 正常消息                String showMess = "";                String dist = message.get("distination");                if (dist.equals("all")){                  showMess = showMess.concat("消息类型:全体消息" + '\n');                }else {                  showMess = showMess.concat("消息类型:私发消息" + '\n');                }                showMess = showMess.concat("消息时间: " + message.get("time") +  '\n');                showMess = showMess.concat("消息内容: " + message.get("content") +  '\n');                showMess = showMess.concat("消息来源: " + message.get("user") +  '\n');                jTextAreaReceiveData.append(showMess);                jTextAreaReceiveData.append("\n\n");              } else if (message.get("messageclass").equals("addUser")) {                if (currentt_userName ==null){                  continue;                }                System.out.println(message.toString());                String newname = message.get("userName");                if (newname.equals(currentt_userName) == false) {                  jComboBoxOnlineUser.addItem(newname);                  jTextAreaReceiveData.append("有新用户上线了:他是: " + newname + "\n\n" );                }              } else if (message.get("messageclass").toString().equals("userClose")) {                String name = message.get("userName");                System.out.println("现在 删除 user: " + name);                jTextAreaReceiveData.append("有用户下线了:他是: " + name + "\n\n" );                jComboBoxOnlineUser.removeItem(name);              }else if( message.get("messageclass").toString().equals("synUserList") ){                String Lis = message.get("userList");                String[] UserList = Lis.split(" ");                int i;                for(i=1; i<UserList.length;i++) {                  jComboBoxOnlineUser.addItem(UserList[i]);                }              }            }        }      }    } catch (IOException e) {      e.printStackTrace();    }  }  public static Map<String,String> mapStringToMap(String str){    str=str.substring(1, str.length()-1);    System.out.println("ishere dk->" + str);    String[] strs=str.split(",");    Map<String,String> map = new HashMap<String, String>();    for (String string : strs) {      String key=string.split("=")[0];      String value=string.split("=")[1];      value = value.trim();      key = key.trim();      map.put(key, value);    }    return map;  }  public static void main(String[] args) throws IOException {     Client a = new Client();  }  private static void handle(InputStream input, OutputStream output) throws IOException {    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output, StandardCharsets.UTF_8));    BufferedReader reader = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8));    Scanner scanner = new Scanner(System.in);    System.out.println("[server] " + reader.readLine());    for (;;) {      System.out.print(">>> "); // 打印提示      String s = scanner.nextLine(); // 读取一行输入      writer.write(s);      writer.newLine();      writer.flush();      String resp = reader.readLine();      System.out.println("<<< " + resp);      if (resp.equals("bye")) {        break;      }    }  }  void update() throws IOException {    for (;;) {      System.out.print("lkdfvmndfjk");      String resp = reader.readLine();      System.out.println("<<< " + resp);      jTextAreaReceiveData.append(resp);      if (resp.equals("bye")) {        break;      }    }  }  static String time (){    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式    return df.format( new Date() ).toString();  }  @Override  public void actionPerformed(ActionEvent e) {    if (e.getSource()==jButtonSent){        if (jTextFieldSentData.getText() == "") {          jTextAreaReceiveData.append("发送不可为空"+"\n");        }else {          this.currentt_userName = jTextFieldusername.getText().toString();          Map<String,String> message=  new HashMap<String, String>();          message.put("messageclass", "normally");// 普通 消息          message.put("user",currentt_userName);          message.put( "userId",userId );          String  to=jTextFieldSentData.getText();          message.put("content",to);          message.put("time",time());          String distina =   jComboBoxOnlineUser.getSelectedItem().toString();          if (distina.equals("self")){            // 发给所有人            System.out.println("查看");            message.put("distination","all");          }else {            // 发给某人            message.put("distination",distina);          }          String ans  = message.toString();          to = ans;          try {            writer.write(to+"\n");            writer.flush();          }catch (Exception ee){            System.out.println(ee.toString());            jTextAreaReceiveData.append("发送失败"+"\n");          }        }      }else if (e.getSource() == jButtonCloseNetwork){      try {        sock.close();      } catch (IOException e1) {        e1.printStackTrace();      }    }else if(e.getSource() == jButtonSetupSever){      String name = jTextFieldusername.getText();      if (name.equals("")){        jTextAreaReceiveData.append("用户名不可为空");        // 不可为空  提示        return;      }      currentt_userName = name;      Map<String,String> message=  new HashMap<String, String>();      message.put("messageclass", "synUserName");// 普通 消息      message.put("user",currentt_userName);      message.put( "userId",userId );      message.put( "userIndex",String.valueOf(userIndex) );      try {        writer.write(message.toString()+"\n");        writer.flush();        jButtonCloseNetwork.setEnabled(true);        jButtonSetupSever.setEnabled(false);      } catch (IOException e1) {        e1.printStackTrace();      }      // 同步  用户名    }else if (e.getSource()== jButtonExit){      // 关闭按钮      Map<String,String> message=  new HashMap<String, String>();      message.put("messageclass", "userClose");// 普通 消息      message.put("user",currentt_userName);      message.put( "userId",userId );      message.put( "userIndex",String.valueOf(userIndex) );      try {        writer.write(message.toString()+"\n");        writer.flush();        System.out.println(message.toString());      } catch (IOException e1) {        e1.printStackTrace();      }// 发送下线消息      jComboBoxOnlineUser.removeAllItems();    }  }  @Override  public void itemStateChanged(ItemEvent e) {  }}

里面的ip地址 我写的是我自己的 想改的可以自己改

看完上述内容,你们掌握基于Java怎么实现简易的局域网对话系统的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: 基于Java怎么实现简易的局域网对话系统

本文链接: https://www.lsjlt.com/news/302335.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于Java实现简易的局域网对话系统
    先说一下 写的确实比较一般,别喷 为什么呢,疫情原因,学校提前两周期末考试,时间也不太充足,将就一下 服务器代码: package xcvcvcx; import java....
    99+
    2024-04-02
  • 基于Java怎么实现简易的局域网对话系统
    基于Java怎么实现简易的局域网对话系统,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。先说一下写的确实比较一般,别喷为什么呢,疫情原因,学校提前两周期末考试,时间也不太充足,将...
    99+
    2023-06-22
  • java+socket实现简易局域网聊天室
    本文实例为大家分享了java+socket实现简易局域网聊天室的具体代码,供大家参考,具体内容如下 服务器端 ServerFrame.java package com.eze.cha...
    99+
    2024-04-02
  • 基于JavaSSM框架实现简易的评教系统
    目录介绍效果图部分核心代码介绍 项目编号:BS-GX-014 数据库:mysql 开发工具:IDEA / ECLIPSE 开发技术:SSM 框架 本系统基于SSM框架实现。主要包含三...
    99+
    2024-04-02
  • Java怎么实现简易购物系统
    这篇文章主要介绍了Java怎么实现简易购物系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java怎么实现简易购物系统文章都会有所收获,下面我们一起来看看吧。用基本语句去实现一个购物系统package&nbs...
    99+
    2023-06-30
  • 基于Python实现简易的植物识别小系统
    导语 "  花草树木 皆有呈名 热爱自然,从认识自然开始 " 现在的植物爱好者,遇到不认得的植物。怎么办呢? 前几天去逛商场,一进商城一一一一门口的花店吸引了我的注意:摆放...
    99+
    2024-04-02
  • 怎么用python实现简易聊天对话框
    本篇内容介绍了“怎么用python实现简易聊天对话框”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果图: 客户端代码: ...
    99+
    2023-06-29
  • 基于Python实现一个简易的数据管理系统
    目录创建mysql数据表增删改查启动应用 为了方便的实现记录数据、修改数据没有精力去做一个完整的系统去管理数据。因此,在python的控制台直接实现一个简易的数据管理系统,包括数据的...
    99+
    2024-04-02
  • 基于Python怎样实现一个简易的数据管理系统
    这期内容当中小编将会给大家带来有关基于Python怎样实现一个简易的数据管理系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。为了方便的实现记录数据、修改数据没有精力去做一个完整的系统去管理数据。因此,在...
    99+
    2023-06-22
  • 基于Python实现简易学生信息管理系统
    目录一、系统简介二、步骤分析三、需求实现四、具体实现4.1 添加学生信息的函数4.2 删除学生信息的函数4.3 修改学生信息的函数4.4 查询学生信息的函数4.5 显示所有学生信息五...
    99+
    2024-04-02
  • java怎么实现简易的学籍管理系统
    这篇文章主要介绍了java怎么实现简易的学籍管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下一、 代码import java.awt.*;impo...
    99+
    2023-06-29
  • Java怎么实现简易学籍管理系统
    这篇文章给大家分享的是有关Java怎么实现简易学籍管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下我们先来讲讲什么是泛型化编程package 学生管理系统; import&n...
    99+
    2023-06-29
  • Java基于对象流实现银行系统
    Java基于对象流实现银行系统的具体代码,供大家参考,具体内容如下 系统特点: 数据持久化到文件中,系统启动后,加载文件中数据到集合中,相当于做了一个缓存。文件读写使用的是对象流(O...
    99+
    2024-04-02
  • java实现简易的学籍管理系统
    本文实例为大家分享了java实现简易的学籍管理系统的具体代码,供大家参考,具体内容如下 一、 代码 import java.awt.*; import java.awt.event....
    99+
    2024-04-02
  • java基于jdbc实现简单学生管理系统
    目录工具类工程目录:运行截图:这个是java连接mysql数据库的一个简单学生系统,通过jdbc连接数据库。 工具类 JDBCuntils. package Student; ...
    99+
    2024-04-02
  • 基于统计的交易策略简易实现VNPY的示例分析
    这篇文章将为大家详细讲解有关基于统计的交易策略简易实现VNPY的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。交易思维是基于历史数据中,一组数据比如100天中,K线中最高点或者最低点...
    99+
    2023-06-02
  • jQuery怎么实现简易商城系统
    本篇内容主要讲解“jQuery怎么实现简易商城系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jQuery怎么实现简易商城系统”吧!一.效果图二.body<body> &...
    99+
    2023-07-02
  • Java实现简易版的【图书管理系统】
    目录 🌎1.分析图书管理系统的功能 🌍 2.在IDEA中进行功能类的创建 🦄2.1  创建一个名为book的包,里面存放书相关的 🦄 2.2 创建一个名为Operation...
    99+
    2023-09-11
    java
  • 基于three.js怎么实现简易照片墙效果
    本篇内容主要讲解“基于three.js怎么实现简易照片墙效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于three.js怎么实现简易照片墙效果”吧!代码: <!DOCTYP...
    99+
    2023-06-29
  • 基于Java实现简易的七星彩号码生成器
    目录题目描述:七星彩号码生成器一、题目二、解题思路三、代码详解题目描述:七星彩号码生成器 一、题目 七星彩是中国体育彩票的一种玩法,由中国国家体育总局体育彩票管理中心统一发行,200...
    99+
    2022-11-13
    Java七星彩号码生成器 Java 号码生成器 Java 号码生成
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作