基于TCP协议的计算器

题目要求:建立客户端和服务端的连接,客户端程序能够发送参与运算的两个数和运算符并接收显示服务器端的计算结果,服务器端接收客户端发送的消息(两个数和一个运算符号),并把计算结果发回给客户端。至少能完成“加、减、乘、除、开平方、求对数、正弦函数”等功能。

实现工具:java

简单图示:

详细代码:

 

客户端

package week18;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.Writer;

import java.net.InetAddress;

import java.net.Socket;

import java.net.UnknownHostException;

import java.io.OutputStream;

import java.io.InputStream;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

public class Client extends JFrame implements  Runnable,ActionListener {

Socket client=null;

DataInputStream datain=null;

InputStream in=null;

DataOutputStream dataout=null;

OutputStream out=null;

JTextField show=new JTextField();//创建输入框textField

JLabel tt = new JLabel();//文本

JButton bt = new JButton("发送");

String tempText="";//用于临时存放表达式字符串

String result;//用于存放运算结果

int symbol=1;

public Client(){//计算面板的无参构造函数

super("客户端");//调用父类方法

this.setBounds(300,400,500, 430);//设置窗体大小及出现在屏幕的位置

//文字面板

JPanel bp=new JPanel();//设置输入文字显示面板

tt.setText("输入表达式");//设置文字

tt.setFocusable(false);//设置输入框为不可编辑状态

bp.add(tt);//将输入框添加至输入框面板

this.add(bp, BorderLayout.NORTH);//设置输入按钮面板的方位:上

//输入框面板

JPanel ibp=new JPanel();//创建输入框面板input box panel

show.setText("");//设置输入框初始数字"0"

show.setEditable(true);//设置输入框为可编辑状态

show.setColumns(21);//设置输入框列数

show.setHorizontalAlignment(SwingConstants.RIGHT);//设置输入框的方位:

ibp.add(show);//将输入框添加至输入框面板

this.add(ibp, BorderLayout.CENTER);//设置输入框面板的方位:置中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

champion_233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值