zoukankan      html  css  js  c++  java
  • JAVA进阶15

    间歇性混吃等死,持续性踌躇满志系列-------------第15天

    1、TCP网络程序

     1 package code0329;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.IOException;
     5 import java.io.InputStreamReader;
     6 import java.net.ServerSocket;
     7 import java.net.Socket;
     8 
     9 public class MyTcp {
    10     //创建BufferedReader对象
    11     private BufferedReader reader;
    12     //创建ServerSocket对象
    13     private ServerSocket server;
    14     //创建Socket对象socket
    15     private Socket socket;
    16 
    17     void getserver() {
    18         try {
    19             //实例化Socket对象
    20             server = new ServerSocket(8998);
    21             System.out.println("服务器套接字已经创建成功");
    22             //如果套接字是连接状态
    23             while (true) {
    24                 //输出信息
    25                 System.out.println("等待客户机的连接");
    26                 //实例化Socket对象
    27                 socket = server.accept();
    28                 //实例化BufferedReader对象
    29                 reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    30                 //调用getClientMessage()方法
    31                 getClientMessage();
    32             }
    33         } catch (Exception e) {
    34             e.printStackTrace();
    35         }
    36     }
    37 
    38     private void getClientMessage() {
    39         try {
    40             //如果套接字是连接状态
    41             while (true) {
    42                 //获得客户端信息
    43                 System.out.println("客户机:" + reader.readLine());
    44             }
    45         } catch (Exception e) {
    46             //输出异常信息
    47             e.printStackTrace();
    48         }
    49         try {
    50             if (reader != null) {
    51                 //关闭流
    52                 reader.close();
    53             }
    54             if (socket != null) {
    55                 //关闭套接字
    56                 socket.close();
    57             }
    58         } catch (IOException e) {
    59             e.printStackTrace();
    60         }
    61     }
    62 
    63     public static void main(String[] args) {
    64         //创建本类对象
    65         MyTcp tcp = new MyTcp();
    66         //调用方法
    67         tcp.getserver();
    68         tcp.getClientMessage();
    69     }
    70 }
    View Code

    运行结果图

    2、客户端程序,实现将用户在文本框中输入的信息发送至服务器端,并将文本框中输入的信息显示在客户端的文本框中

     1 package code0329;
     2 
     3 import javax.swing.*;
     4 import java.awt.*;
     5 import java.awt.event.ActionEvent;
     6 import java.awt.event.ActionListener;
     7 import java.io.PrintWriter;
     8 import java.net.Socket;
     9 
    10 //创建类继承JFrame类
    11 public class MyClien extends JFrame {
    12     //声明PrintWriter类对象
    13     private PrintWriter writer;
    14     //声明Socket对象
    15     Socket socket;
    16     //创建JTextArea对象
    17     private JTextArea ta = new JTextArea();
    18     //创建JTextField对象
    19     private JTextField tf = new JTextField();
    20     //声明Container对象
    21     Container cc;
    22 
    23     //构造方法
    24     public MyClien(String title){
    25         //调用父类的构造方法
    26         super(title);
    27         //实例化对象
    28         cc = this.getContentPane();
    29         //将文本域放在窗体的上部
    30         cc.add(ta,"North");
    31         //将文本框放在窗体的下部
    32         cc.add(tf,"South");
    33         //绑定事件
    34         tf.addActionListener(new ActionListener() {
    35             @Override
    36             public void actionPerformed(ActionEvent e) {
    37                 //将文本框中的信息写入流
    38                 writer.println(tf.getText());
    39                 //将文本框中信息显示在文本域中
    40                 ta.append(tf.getText()+'
    ');
    41                 //将文本框清空
    42                 tf.setText(" ");
    43             }
    44         });
    45     }
    46     //连接套接字方法
    47     private void connect(){
    48         //文本域中的提示信息
    49         ta.append("尝试连接
    ");
    50         try{
    51             //实例化Socket对象
    52             socket = new Socket("192.168.2.13",1521);
    53             //获得输出流对象
    54             writer = new PrintWriter(socket.getOutputStream(),true);
    55             //文本框中提示信息
    56             ta.append("尝试连接
    ");
    57         }catch (Exception e){
    58             //输出异常信息
    59             e.printStackTrace();
    60         }
    61     }
    62 
    63     public static void main(String[] args) {
    64         //创建本例对象
    65         MyClien clien = new MyClien("向服务器送数据");
    66         //设置窗体位置和大小
    67         clien.setBounds(400,300,350,250);
    68         //调用连接方法
    69         clien.connect();
    70     }
    71 }
    View Code

    3、Math类

     1 package cn.intcast.demo15;
     2 
     3 public class Code01Math {
     4     public static void main(String[] args) {
     5         //获取绝对值
     6         System.out.println(Math.abs(-111));     //111
     7         //向上取整
     8         System.out.println(Math.ceil(51.1));    //52.0
     9         //向下取整
    10         System.out.println(Math.floor(51.1));   //51.0
    11         //四舍五入
    12         System.out.println(Math.round(51.1));   //51
    13         //圆周率
    14         System.out.println(Math.PI);
    15     }
    16 }
    View Code

    运行结果图

     

    4、 计算在[-10.9,5.8]之间绝对值大于6和绝对值小于2.1的整数个数

     1 package cn.intcast.demo15;
     2 
     3 public class Code01Math {
     4     public static void main(String[] args) {
     5         int count = 0;
     6         double min = -10.9;
     7         double max = 5.8;
     8         for (int i = (int) min; i<max;i++){
     9             int abs = Math.abs(i);
    10             if(abs>6||abs<2.1){
    11                 //System.out.print(i+",");
    12                 count++;
    13             }
    14         }
    15         System.out.println(count);
    16     }
    17 }
    View Code

    运行结果图

    5、

  • 相关阅读:
    Access导入MSSQL SERVER
    Centos8停用、启用、查看当前启用的端口
    CentOS下使用VI
    CentOS关机与重启命令
    华为云CentOS8安装FTP
    华为云CentOS8安装JDK
    华为云CentOS8安装Nginx
    华为云CentOS8安装Redis
    华为云CentOS8安装MYSQL
    oracle 本地导入imp bat的写法
  • 原文地址:https://www.cnblogs.com/Anemia-BOY/p/10622874.html
Copyright © 2011-2022 走看看