很好,我可以帮您写一个简单的 Java C/S 计算器。以下是代码:

服务端(Server.java):

import java.io.*;
import java.net.*;

public class Server {
    public static void main(String[] args) {
        try {
            ServerSocket ss = new ServerSocket(8080);
            System.out.println('Server started on port 8080.');

            while (true) {
                Socket s = ss.accept();
                System.out.println('Client connected from ' + s.getInetAddress().getHostAddress());

                BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
                PrintWriter out = new PrintWriter(s.getOutputStream(), true);

                String inputLine;
                while ((inputLine = in.readLine()) != null) {
                    System.out.println('Received from client: ' + inputLine);
                    String[] tokens = inputLine.split(' ');
                    int num1 = Integer.parseInt(tokens[0]);
                    int num2 = Integer.parseInt(tokens[2]);
                    String operator = tokens[1];
                    int result = 0;
                    switch (operator) {
                        case '+':
                            result = num1 + num2;
                            break;
                        case '-':
                            result = num1 - num2;
                            break;
                        case '*':
                            result = num1 * num2;
                            break;
                        case '/':
                            result = num1 / num2;
                            break;
                    }
                    out.println(result);
                }

                in.close();
                out.close();
                s.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

客户端(Client.java):

import java.io.*;
import java.net.*;

public class Client {
    public static void main(String[] args) {
        try {
            Socket s = new Socket('localhost', 8080);
            System.out.println('Connected to server on port 8080.');

            BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
            PrintWriter out = new PrintWriter(s.getOutputStream(), true);

            BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
            String userInput;
            while ((userInput = stdIn.readLine()) != null) {
                out.println(userInput);
                int result = Integer.parseInt(in.readLine());
                System.out.println('Result: ' + result);
            }

            in.close();
            out.close();
            s.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这个计算器可以进行基本的加减乘除运算。在客户端中,您可以像这样输入表达式:'10 + 5',然后按Enter键,程序将发送这个表达式到服务器端进行计算,并将结果返回给客户端。客户端将显示结果,然后等待下一个表达式输入。

Java C/S 架构计算器:简单易懂的实现代码

原文地址: https://www.cveoy.top/t/topic/kR2b 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录