1. 程式人生 > >JAVA進階15

JAVA進階15

輸出流 ack .com tac per 文本框 oid nts jtextarea

間歇性混吃等死,持續性躊躇滿誌系列-------------第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()+‘\n‘);
41                 //將文本框清空
42                 tf.setText(" ");
43             }
44         });
45     }
46     //連接套接字方法
47     private void connect(){
48         //文本域中的提示信息
49         ta.append("嘗試連接\n");
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("嘗試連接\n");
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、

JAVA進階15