| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 907 人关注过本帖
标题:[求助]网络计算程序
只看楼主 加入收藏
cornyi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-28
收藏
 问题点数:0 回复次数:18 
[求助]网络计算程序
实在是不会了,希望高手指教
编写一个网络计算程序。要求:
(1)客户端界面上有两个文本框,允许用户输入两个操作数,有4个复选框,分别是加、减、乘、除,一个按钮表示发送;
(2)服务器端监听数据,接受的信息包括操作数、操作符,根据操作数的类型(int、float、double)不同,选择不同的方法进行计算;
(3)将计算结果发回客户端,客户端在文本框内显示计算结果;


找了论坛的精华,只有计算的。
搜索更多相关主题的帖子: 网络 
2006-12-29 15:56
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
不要这样吧,自己写部分代码吧

这样才能学到东西啊,不可能一点都不会吧

可惜不是你,陪我到最后
2006-12-29 16:04
cornyi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-28
收藏
得分:0 
不瞒您说,这个学期因为要考研,所以java课基本没有上。差不多就是什么也不会阿。
不过就是有了代码也要自己好好研究的,因为老师还要求上传设计思想等文档。希望高手赐教。
2006-12-29 16:56
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

GSwsMHR9.zip (2.51 KB) [求助]网络计算程序



为了考研..而把java不学..那就算考到也..也没有什么意思..

服务器端:

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

public class JServerSocket{
public static void main(String[] args){
int PORT=36547;
try{
ServerSocket serverSocket=new ServerSocket(PORT);
System.out.println("正在监听中");
while(true){
Socket socket=serverSocket.accept();
System.out.println(socket.getInetAddress());
new SocketServer(socket);
}
}catch(Exception exc){
exc.printStackTrace();
}
}
}

class SocketServer extends Thread{
private BufferedReader in;
private PrintWriter out;
private Socket socket;

public SocketServer(Socket s) throws IOException{
socket=s;
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);
start();
}

public void run(){
try{
while(true){
double num1=Double.parseDouble(in.readLine());
double num2=Double.parseDouble(in.readLine());
int flags=Integer.parseInt(in.readLine());
double result=0;

switch(flags){
case 0:
result=num1+num2;
break;
case 1:
result=num1-num2;
break;
case 2:
result=num1*num2;
break;
case 3:
result=num1/num2;
break;
}

out.println(result);
}
}catch(Exception exc){
exc.printStackTrace();
}finally{
try{
socket.close();
}catch(IOException ex){}

}
}
}


客户端:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
import java.util.*;

public class JClientSocket extends JFrame implements ActionListener{
private JTextField jtfNum1,jtfNum2;
private JComboBox jcbFlags;
private JButton jbCompute;
private JLabel labelResult;
private JMenuBar jmenuBar;
private JMenu jmenuCtrl;
private JMenuItem jmenuConnect;

private BufferedReader in;
private PrintWriter out;
private Socket socket;
private int PORT=36547;

public JClientSocket(){
super("服务器端");

init();

this.setSize(350,150);
Dimension scrSize=this.getToolkit().getScreenSize();
Dimension frmSize=this.getSize();
int left=(scrSize.width-frmSize.width)/2;
int top=(scrSize.height-frmSize.height)/2;

this.setLocation(left,top);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

void init(){
jmenuBar=new JMenuBar();
jmenuCtrl=new JMenu("操作");
jmenuConnect=new JMenuItem("连接");
jmenuConnect.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.META_MASK));
jmenuConnect.addActionListener(this);

jmenuCtrl.add(jmenuConnect);
jmenuBar.add(jmenuCtrl);
this.setJMenuBar(jmenuBar);

Container container=this.getContentPane();

jtfNum1=new JTextField(10);
Vector<String> vector=new Vector<String>();
vector.addElement("+");
vector.addElement("-");
vector.addElement("*");
vector.addElement("/");
jcbFlags=new JComboBox(vector);

jtfNum2=new JTextField(10);

JPanel panel = new JPanel();
panel.setLayout(new GridLayout(1,3));
panel.add(jtfNum1);
panel.add(jcbFlags);
panel.add(jtfNum2);

container.add(panel,BorderLayout.NORTH);

labelResult=new JLabel("结果是:");
jbCompute=new JButton("计算");
jbCompute.setEnabled(false);
jbCompute.addActionListener(this);
container.add(labelResult,BorderLayout.CENTER);
JPanel panel2=new JPanel();
panel2.add(jbCompute);
container.add(panel2,BorderLayout.SOUTH);
}

public void actionPerformed(ActionEvent e){
if(e.getSource()==jmenuConnect){
connectSocket();
}else if(e.getSource()==jbCompute){
getInfo();
}
}

void connectSocket(){
try{
socket=new Socket(InetAddress.getByName("localhost"),PORT);
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);
jbCompute.setEnabled(true);
}catch(Exception exc){
JOptionPane.showMessageDialog(null,exc.getMessage());
}

}

void getInfo(){
try{
double num1,num2;
String result;
int flags;

num1=Double.parseDouble(jtfNum1.getText());
num2=Double.parseDouble(jtfNum2.getText());
flags=jcbFlags.getSelectedIndex();

out.println(num1);
out.println(num2);
out.println(flags);

result=in.readLine();

labelResult.setText("结果是:"+result);
}catch(Exception exc){
JOptionPane.showMessageDialog(null,exc.getMessage());
}
}

public static void main(String[] args){
new JClientSocket();
}
}


我的msn: myfend@
2006-12-29 17:56
cornyi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-28
收藏
得分:0 
谢谢,衷心的谢谢!真是帮我解决了一个大问题!!
关于考研,怎么说呢,我也想好好的去上课,学点知识,但是应试教育害人,考研不考java啊。所以我要用最有限的时间学对我现阶段来说最重要的知识。至于现在的java,我也很无奈。
总而言之,谢谢谢谢你。
2006-12-29 18:10
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
又是一个应试教育的牺牲者


可惜不是你,陪我到最后
2006-12-29 19:04
mdd84128
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-12-29
收藏
得分:0 
考研害人那

2006-12-30 20:59
glgjing
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-12-30
收藏
得分:0 

不好意思,能帮一下忙吗?主要是因为考研,没有时间,老师又要求的急,所以没办法。
帮一下忙吧,谢谢。

2006-12-30 20:59
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
你不是说第一次上论坛吗?...

...

我的msn: myfend@
2006-12-30 21:00
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
这个贴.不是你的哦...
怎么考研..又关你事?.

我的msn: myfend@
2006-12-30 21:01
快速回复:[求助]网络计算程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030022 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved