间歇性混吃等死, 持续性踌躇满志系列 ------------- 第 15 天
1,TCP 网络程序
- package code0329;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.NET.ServerSocket;
- import java.NET.Socket;
- public class MyTcp {
- // 创建 BufferedReader 对象
- private BufferedReader reader;
- // 创建 ServerSocket 对象
- private ServerSocket server;
- // 创建 Socket 对象 socket
- private Socket socket;
- void getserver() {
- try {
- // 实例化 Socket 对象
- server = new ServerSocket(8998);
- System.out.println("服务器套接字已经创建成功");
- // 如果套接字是连接状态
- while (true) {
- // 输出信息
- System.out.println("等待客户机的连接");
- // 实例化 Socket 对象
- socket = server.accept();
- // 实例化 BufferedReader 对象
- reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- // 调用 getClientMessage()方法
- getClientMessage();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private void getClientMessage() {
- try {
- // 如果套接字是连接状态
- while (true) {
- // 获得客户端信息
- System.out.println("客户机:" + reader.readLine());
- }
- } catch (Exception e) {
- // 输出异常信息
- e.printStackTrace();
- }
- try {
- if (reader != null) {
- // 关闭流
- reader.close();
- }
- if (socket != null) {
- // 关闭套接字
- socket.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- // 创建本类对象
- MyTcp tcp = new MyTcp();
- // 调用方法
- tcp.getserver();
- tcp.getClientMessage();
- }
- }
- View Code
运行结果图
2, 客户端程序, 实现将用户在文本框中输入的信息发送至服务器端, 并将文本框中输入的信息显示在客户端的文本框中
- package code0329;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.PrintWriter;
- import java.NET.Socket;
- // 创建类继承 JFrame 类
- public class MyClien extends JFrame {
- // 声明 PrintWriter 类对象
- private PrintWriter writer;
- // 声明 Socket 对象
- Socket socket;
- // 创建 JTextArea 对象
- private JTextArea ta = new JTextArea();
- // 创建 JTextField 对象
- private JTextField tf = new JTextField();
- // 声明 Container 对象
- Container cc;
- // 构造方法
- public MyClien(String title){
- // 调用父类的构造方法
- super(title);
- // 实例化对象
- cc = this.getContentPane();
- // 将文本域放在窗体的上部
- cc.add(ta,"North");
- // 将文本框放在窗体的下部
- cc.add(tf,"South");
- // 绑定事件
- tf.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // 将文本框中的信息写入流
- writer.println(tf.getText());
- // 将文本框中信息显示在文本域中
- ta.append(tf.getText()+'\n');
- // 将文本框清空
- tf.setText(" ");
- }
- });
- }
- // 连接套接字方法
- private void connect(){
- // 文本域中的提示信息
- ta.append("尝试连接 \ n");
- try{
- // 实例化 Socket 对象
- socket = new Socket("192.168.2.13",1521);
- // 获得输出流对象
- writer = new PrintWriter(socket.getOutputStream(),true);
- // 文本框中提示信息
- ta.append("尝试连接 \ n");
- }catch (Exception e){
- // 输出异常信息
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- // 创建本例对象
- MyClien clien = new MyClien("向服务器送数据");
- // 设置窗体位置和大小
- clien.setBounds(400,300,350,250);
- // 调用连接方法
- clien.connect();
- }
- }
- View Code
3,Math 类
- package cn.intcast.demo15;
- public class Code01Math {
- public static void main(String[] args) {
- // 获取绝对值
- System.out.println(Math.abs(-111)); //111
- // 向上取整
- System.out.println(Math.ceil(51.1)); //52.0
- // 向下取整
- System.out.println(Math.floor(51.1)); //51.0
- // 四舍五入
- System.out.println(Math.round(51.1)); //51
- // 圆周率
- System.out.println(Math.PI);
- }
- }
- View Code
运行结果图
4, 计算在 [-10.9,5.8] 之间绝对值大于 6 和绝对值小于 2.1 的整数个数
- package cn.intcast.demo15;
- public class Code01Math {
- public static void main(String[] args) {
- int count = 0;
- double min = -10.9;
- double max = 5.8;
- for (int i = (int) min; i<max;i++){
- int abs = Math.abs(i);
- if(abs>6||abs<2.1){
- //System.out.print(i+",");
- count++;
- }
- }
- System.out.println(count);
- }
- }
- View Code
运行结果图
5,
来源: http://www.bubuko.com/infodetail-3004569.html