导航:首页 > 编程语言 > java聊天机器人源码

java聊天机器人源码

发布时间:2023-06-11 00:07:29

java编写一个聊天机器人

public class Test
{
public static void main(String args[])
{
System.out.println("机器人启动");
String s;
do{
Scanner sc=new Scanner(System.in);
s=sc.next();
if(s.equals("你好")){
System.out.println("你好!我是小P,请问你是谁?...... ");
}
else if(s.equals("小P回答")){
System.out.println("你好!我是小P你是谁?");
}
else if(s.equals("我是令狐冲")){
System.out.println("令狐冲 是你啊,好想你啊!");
}
else if(s.equals("再见")){
System.out.println("再见");
}
else{
System.out.println("对不起我不懂你在说什么!" );
}
}while(!s.equals("再见"));
}

}

⑵ java 聊天室 源代码

【ClientSocketDemo.java 客户端Java源代码】

import java.net.*;
import java.io.*;
public class ClientSocketDemo
{
//声明客户端Socket对象socket
Socket socket = null;

//声明客户器端数据输入输出流
DataInputStream in;
DataOutputStream out;

//声明字符串数组对象response,用于存储从服务器接收到的信息
String response[];

//执行过程中,没有参数时的构造方法,本地服务器在本地,取默认端口10745
public ClientSocketDemo()
{
try
{
//创建客户端socket,服务器地址取本地,端口号为10745
socket = new Socket("localhost",10745);

//创建客户端数据输入输出流,用于对服务器端发送或接收数据
in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());

//获取客户端地址及端口号
String ip = String.valueOf(socket.getLocalAddress());
String port = String.valueOf(socket.getLocalPort());

//向服务器发送数据
out.writeUTF("Hello Server.This connection is from client.");
out.writeUTF(ip);
out.writeUTF(port);

//从服务器接收数据
response = new String[3];
for (int i = 0; i < response.length; i++)
{
response[i] = in.readUTF();
System.out.println(response[i]);
}
}
catch(UnknownHostException e){e.printStackTrace();}
catch(IOException e){e.printStackTrace();}
}

//执行过程中,有一个参数时的构造方法,参数指定服务器地址,取默认端口10745
public ClientSocketDemo(String hostname)
{
try
{
//创建客户端socket,hostname参数指定服务器地址,端口号为10745
socket = new Socket(hostname,10745);
in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());

String ip = String.valueOf(socket.getLocalAddress());
String port = String.valueOf(socket.getLocalPort());

out.writeUTF("Hello Server.This connection is from client.");
out.writeUTF(ip);
out.writeUTF(port);

response = new String[3];
for (int i = 0; i < response.length; i++)
{
response[i] = in.readUTF();
System.out.println(response[i]);
}
}
catch(UnknownHostException e){e.printStackTrace();}
catch(IOException e){e.printStackTrace();}
}

//执行过程中,有两个个参数时的构造方法,第一个参数hostname指定服务器地址
//第一个参数serverPort指定服务器端口号
public ClientSocketDemo(String hostname,String serverPort)
{
try
{
socket = new Socket(hostname,Integer.parseInt(serverPort));
in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());

String ip = String.valueOf(socket.getLocalAddress());
String port = String.valueOf(socket.getLocalPort());

out.writeUTF("Hello Server.This connection is from client.");
out.writeUTF(ip);
out.writeUTF(port);

response = new String[3];
for (int i = 0; i < response.length; i++)
{
response[i] = in.readUTF();
System.out.println(response[i]);
}
}
catch(UnknownHostException e){e.printStackTrace();}
catch(IOException e){e.printStackTrace();}
}

public static void main(String[] args)
{
String comd[] = args;
if(comd.length == 0)
{
System.out.println("Use localhost(127.0.0.1) and default port");
ClientSocketDemo demo = new ClientSocketDemo();
}
else if(comd.length == 1)
{
System.out.println("Use default port");
ClientSocketDemo demo = new ClientSocketDemo(args[0]);
}
else if(comd.length == 2)
{
System.out.println("Hostname and port are named by user");
ClientSocketDemo demo = new ClientSocketDemo(args[0],args[1]);
}
else System.out.println("ERROR");
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

【ServerSocketDemo.java 服务器端Java源代码】

import java.net.*;
import java.io.*;
public class ServerSocketDemo
{
//声明ServerSocket类对象
ServerSocket serverSocket;

//声明并初始化服务器端监听端口号常量
public static final int PORT = 10745;

//声明服务器端数据输入输出流
DataInputStream in;
DataOutputStream out;

//声明InetAddress类对象ip,用于获取服务器地址及端口号等信息
InetAddress ip = null;

//声明字符串数组对象request,用于存储从客户端发送来的信息
String request[];

public ServerSocketDemo()
{
request = new String[3]; //初始化字符串数组
try
{
//获取本地服务器地址信息
ip = InetAddress.getLocalHost();

//以PORT为服务端口号,创建serverSocket对象以监听该端口上的连接
serverSocket = new ServerSocket(PORT);

//创建Socket类的对象socket,用于保存连接到服务器的客户端socket对象
Socket socket = serverSocket.accept();
System.out.println("This is server:"+String.valueOf(ip)+PORT);

//创建服务器端数据输入输出流,用于对客户端接收或发送数据
in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());

//接收客户端发送来的数据信息,并显示
request[0] = in.readUTF();
request[1] = in.readUTF();
request[2] = in.readUTF();
System.out.println("Received messages form client is:");
System.out.println(request[0]);
System.out.println(request[1]);
System.out.println(request[2]);

//向客户端发送数据
out.writeUTF("Hello client!");
out.writeUTF("Your ip is:"+request[1]);
out.writeUTF("Your port is:"+request[2]);
}
catch(IOException e){e.printStackTrace();}
}
public static void main(String[] args)
{
ServerSocketDemo demo = new ServerSocketDemo();
}
}

⑶ 如何使用java编写一个会机器的聊天机器人

聊天机器人也就是socket和server,你在他们里边都加上一个线程,互相监听,通过输入和输出流传递信息内,然后你从容socket端输入一句话,写入流,然后server端读取,处理一下再写入流,然后你socket读取,这就是一个简单的相应了,server端就会等待socket端的下次相应,这太简单了,估计网上不会有这样的教程,你可以大致的参考一下这个思路

⑷ java编写一个智能聊天机器人,请大神行行好写个

简单的可以使用HashMap把问答对应起来,一个问题可以有多个回答.然后随机返回回1个

当然了这肯定不智能.只能简单答玩玩.

需要复杂的聊天机器人,需要自然语义分析、机器学习和深度神经网络方面的技术

一个人独立写还是很困难的.

调用第三方的聊天机器人接口

接口一般都是提交一个请求(请求的参数里包含你提交的问),返回一个jsON,然后从JSON里解析出想要的回答(字符串)就可以了

聊天机器人API或者聊天机器人接口网上有的

⑸ 用java编写多人聊天室程序,不需要太复杂求大神发给我,最好能运行,有源代码。谢谢了

文件1:
package com.qq;

import java.io.InputStream;
import java.io.DataInputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.DataOutputStream;
import java.io.BufferedReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.IOException;
import java.util.Date;

public class Server {
public Server() {
try {
ServerSocket s = new ServerSocket(8888);
Socket ss = s.accept();
OutputStream out = ss.getOutputStream();
DataOutputStream dout = new DataOutputStream(out);
InputStream in = ss.getInputStream();
DataInputStream din = new DataInputStream(in);
System.out.print(din.readUTF() + "!");
dout.writeUTF("你已经连接到服务器" + "\t" + "你的地址:" + ss.getInetAddress()
+ "\t" + "你的链接端口:" + ss.getLocalPort() + "\n");
new ReadMessage(din).start();
new SendMessage(dout).start();
} catch (IOException e) {
e.printStackTrace();
}
}

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

// 接受客户端信息
class ReadMessage extends Thread {
private DataInputStream din;

public ReadMessage(DataInputStream din) {
this.din = din;
}

public void run() {
String str;
try {
while (true) {
str = din.readUTF();
System.out.println(new Date().toLocaleString() + "客户端说:" + str);
if (str.equals("bye")) {
System.out.println("客户端下线!");
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

// 发出服务器信息
class SendMessage extends Thread {
private DataOutputStream dout;

public SendMessage(DataOutputStream dout) {
this.dout = dout;
}

public void run() {
InputStreamReader inr = new InputStreamReader(System.in);
BufferedReader buf = new BufferedReader(inr);
String str;
try {
while (true) {
str = buf.readLine();
dout.writeUTF(str);
if (str.equals("bye")) {
System.out.println("服务器退出!");
System.exit(1);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
----------------------------------------
文件2:
package com.qq;

import java.io.InputStream;
import java.io.DataInputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.DataOutputStream;
import java.io.BufferedReader;
import java.net.Socket;
import java.io.IOException;
import java.util.Date;

public class Client {
public Client() {
try {
Socket s = new Socket("192.168.1.2", 8888);
InputStream in = s.getInputStream();
DataInputStream din = new DataInputStream(in);
OutputStream out = s.getOutputStream();
DataOutputStream dout = new DataOutputStream(out);
dout.writeUTF("服务器你好!我是客户端");
System.out.println(din.readUTF());
new Thread(new SenderMessage(dout)).start();
new Thread(new ReaderMessage(din)).start();
} catch (IOException e) {
e.printStackTrace();
}
}

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

class ReaderMessage implements Runnable {
private DataInputStream din;

public ReaderMessage(DataInputStream din) {
this.din = din;
}

public void run() {
String str;
try {
while (true) {
str = din.readUTF();
System.out.println(new Date().toLocaleString() + "服务器说:" + str);
if (str.equals("bye")) {
System.out.println("服务器已经关闭,此程序自动退出!");
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

class SenderMessage implements Runnable {
private DataOutputStream dout;

public SenderMessage(DataOutputStream dout) {
this.dout = dout;
}

public void run() {
String str;
InputStreamReader inf = new InputStreamReader(System.in);
BufferedReader buf = new BufferedReader(inf);
try {
while (true) {
str = buf.readLine();
dout.writeUTF(str);
if (str.equals("bye")) {
System.out.println("客户端自己退出!");
System.exit(1);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

⑹ 请问能不能帮我写一个Java的聊天窗口文件源代码,不要很复杂,只要能运行,聊天就行了!我用淘宝金币换,谢

话说网上真的好多啊...
package client;

import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class ClientFrame extends JFrame{
private JTextArea allmsg;
private JTextField welcome,right,chatmsg;
private JButton send;
private JScrollPane js;
private boolean isConnected = true;

public DataOutputStream out;
public DataInputStream in;

public Socket s = null;

String nic; /* -- 保存用户昵称 --*/

/**
* 初始化客户端资源
* 1.获取从LoginFrame传递过来的参数
* 2.初始化界面元素
* 3.初始化通信所需要的资源 EG:输入/输出流(DataInputStream/DataOutputStream)
* */
public ClientFrame(String name,Socket socket)
{
this.setSize(310,660);
this.setLocation(290,50);
this.setTitle("聊天室客户端<"+name+">");/* -- 指定窗口的标题 --*/

this.s = socket;/* -- 接收从LoginFrame中传递过来的Socket --*/

this.nic = name+" 说: ";

welcome = new JTextField(" < "+name+" >欢迎您来到聊天室 ",100);
welcome.setBackground(Color.blue);
welcome.setEnabled(false);

right = new JTextField(" ----- all right @ TOP-king -----");
right.setEnabled(false);

allmsg = new JTextArea();
allmsg.setEditable(false);
allmsg.append(" 系统消息: 欢迎登录在线聊天室 \n");

js = new JScrollPane(allmsg);//为JTextArea添加滚动条

chatmsg = new JTextField("在此输入聊天信息");
chatmsg.addActionListener(new listen());

send = new JButton("发送");
send.addActionListener(new listen());/* -- 添加事件监听器 --*/

try {
out = new DataOutputStream(s.getOutputStream());
in = new DataInputStream(s.getInputStream());
} catch (IOException e) {JOptionPane.showMessageDialog(null, "系统异常","错误",JOptionPane.OK_CANCEL_OPTION);}

addcomponettocontainer();

/* -- 当用户关闭窗口时进行相关的处理 eg:Socket Data(Input/Output)Stream 的关闭--*/
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we)
{
sendmsg("quit&logout");/* -- 向服务器端发送关闭信息 --*/
isConnected = false;
destory();/* -- 销毁窗口资源 --*/
}
});

new Thread(new linread()).start();/* -- 启动读取信息线程 --*/

}

public void addcomponettocontainer()
{
Container c = this.getContentPane();
c.setLayout(null);

welcome.setBounds(75,10,150,20);
js.setBounds(10,50,280,500);
chatmsg.setBounds(10,560,180,30);
send.setBounds(220,560,70,30);
right.setBounds(10,600,280,20);

c.add(welcome);
c.add(js);
c.add(chatmsg);
c.add(send);
c.add(right);

this.setVisible(true);
this.setResizable(false);
}

class listen implements ActionListener
{

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==send||e.getSource()==chatmsg)
{
String msg = chatmsg.getText().trim();
if("".equals(msg))
{
JOptionPane.showMessageDialog(null,"发送信息不能为空!","错误",JOptionPane.OK_OPTION);
}
else
{sendmsg((new Date()).toLocaleString()+"\n"+nic+msg+"\n");chatmsg.setText("");}
}
}
}

/* -- 向服务器端发送信息 --*/
public void sendmsg(String m)
{
if(isConnected)//如果socket的输出流没关闭
{
try {
out.writeUTF(m);
} catch (IOException e) {
JOptionPane.showMessageDialog(null,"发送信息失败!(系统异常)","错误",JOptionPane.OK_OPTION);
}
}
else
{
JOptionPane.showMessageDialog(null,"发送信息失败!(服务器关闭/网络故障)","错误",JOptionPane.OK_OPTION);
}
}

/* -- 读取信息线程 --*/
class linread implements Runnable
{
public void run()
{
read();
}

public void read()
{
while(isConnected)
{
try {
String msg = in.readUTF();
if("SYSTEM_CLOSED".equals(msg))
{
JOptionPane.showMessageDialog(null,"读取消息失败(服务器关闭/网络故障)!","错误",JOptionPane.OK_OPTION);
isConnected = false;
}
else
allmsg.append(msg+"\n");
} catch (IOException e) {
}
}//end while
JOptionPane.showMessageDialog(null,"读取消息失败(服务器关闭/网络故障)!","错误",JOptionPane.OK_OPTION);
}//end read()
}

public void destory()
{
try {
this.out.close();
this.in.close();
this.s.close();
} catch (IOException e) {
}
this.dispose();
}
}
======================================================
package client;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

public class LoginFrame extends JFrame{
private JTextField name;
private JTextField ip;
private JButton ok,cancle;

public Socket socket;

public LoginFrame()
{
super("登录框");
this.setSize(400,80);
this.setLocation(100,100);

name = new JTextField("昵称");
ip = new JTextField("127.0.0.1");
ok = new JButton("登录");
cancle = new JButton("取消");
ok.addActionListener(new listenEvent());
cancle.addActionListener(new listenEvent());
//建立容器
addcomponettocontainer();
this.setDefaultCloseOperation(EXIT_ON_CLOSE);

}
/**
* 建立容器及控件
*/
public void addcomponettocontainer()
{
Container c = this.getContentPane();
c.setLayout(null);

name.setBounds(10,10,100,30);
ip.setBounds(120,10,100,30);
ok.setBounds(230,10,70,30);
cancle.setBounds(310,10,70,30);

c.add(name);
c.add(ip);
c.add(ok);
c.add(cancle);

this.setVisible(true);
this.setResizable(false);
}

public class listenEvent implements ActionListener
{

public void actionPerformed(ActionEvent event) {
// TODO Auto-generated method stub
if(event.getSource()==ok)
{
String n = name.getText().trim();
String i = ip.getText().trim();
if("".equals(n)||"".equals(i))
{
JOptionPane.showMessageDialog(null,"昵称、IP不能够为空!","错误",JOptionPane.OK_OPTION);
}
else{login(n,i);}
}
if(event.getSource()==cancle)
{
name.setText("");
ip.setText("");
}
}

}

/**
* 进行登录
* @param name
* @param ip
*/
public void login(String name,String ip)
{

try {
socket = new Socket(ip,7777);
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
out.writeUTF(name);
out.flush();//强制输出缓存中的内容
//out.close();
new ClientFrame(name,socket);
destroywindow();
} catch (UnknownHostException e) {
JOptionPane.showMessageDialog(null,"找不到主机地址(IP错误/网络故障)!","错误",JOptionPane.OK_OPTION);

} catch (IOException e) {

}
}

public void destroywindow()
{
this.dispose();
}

public static void main(String[] args)
{
new LoginFrame();
}
}
==================================================
package server;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class ServerFrame extends JFrame{

/**
*
*/
private static final long serialVersionUID = 1L;
private JTextArea allmsg;
private JTextField currnum,totalnum,right,chatmsg;
private JButton send;
private JScrollPane js;
int num1,num2,port;/* -- num1:当前在线人数 num2:总上线人数 port:服务端口号 --*/

private ServerSocket ss;

ArrayList<user> lists;//存放所有在线用户

public ServerFrame()
{
super("聊天室服务器端");
this.setSize(310,660);
this.setLocation(200,50);

lists = new ArrayList<user>();

num1 = num2 =0;
port = 7777;

currnum = new JTextField(" 当前在线人数: "+num1);
currnum.setEnabled(false);

totalnum = new JTextField(" 上线总人数: "+num2);
totalnum.setEnabled(false);

right = new JTextField(" ----- all right @ TOP-king -----");
right.setEnabled(false);

allmsg = new JTextArea();
allmsg.append(" --------------- 系统消息 --------------\n");
allmsg.setEditable(false);
allmsg.setLineWrap(true); //允许自动换行

js = new JScrollPane(allmsg);//为JTextArea添加滚动条

chatmsg = new JTextField("在此输入系统信息");

chatmsg.addActionListener(new ActionListener(){

@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent arg0) {
String str = chatmsg.getText().trim();
if(!"".equals(str))
{sendmsg((new Date()).toLocaleString()+" -- 系统消息: "+str);chatmsg.setText("");}
else
JOptionPane.showMessageDialog(null, "消息不能为空","错误",JOptionPane.OK_OPTION);
chatmsg.setText("");/* -- 发送信息后,将输入栏中的信息清空 -- */
}
});

send = new JButton("发送");
send.addActionListener(new ActionListener(){

@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent arg0) {
String str = chatmsg.getText().trim();
if(!"".equals(str))
{sendmsg((new Date()).toLocaleString()+" -- 系统消息: "+str);chatmsg.setText("");}
else
JOptionPane.showMessageDialog(null, "消息不能为空","错误",JOptionPane.OK_OPTION);
chatmsg.setText("");/* -- 发送信息后,将输入栏中的信息清空 -- */
}
});

//建立容器
addcomponettocontainer();
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we)
{
sendmsg("SYSTEM_CLOSED");/* -- 向客户端发送服务器关闭信息 -- */
destory();
}
});
start(); /* -- 启动连接服务 -- */

}

public void addcomponettocontainer()
{
//Container建立容器
Container c = this.getContentPane();
c.setLayout(null);

currnum.setBounds(20,15,130,20);
totalnum.setBounds(155,15,125,20);
js.setBounds(10,50,280,500);
chatmsg.setBounds(10,560,180,30);
send.setBounds(220,560,70,30);
right.setBounds(10,600,280,20);

c.add(currnum);
c.add(totalnum);
c.add(js);
c.add(chatmsg);
c.add(send);
c.add(right);

this.setVisible(true);
this.setResizable(false);
}

/**
* start()方法监听客户的连接
* 并且保存客户端的相关信息EG:用户昵称、用户所使用的Socket
* 用户连接到服务器成功之后,将其保存到用户列表中,并为该用户启动一个线程用于通信 */
@SuppressWarnings("deprecation")
public void start()
{
boolean isStarted = false;/* -- 用于标记服务器是否已经正常启动 -- */
try {
this.ss = new ServerSocket(port);
isStarted = true;
this.allmsg.append((new Date()).toLocaleString()+" 服务器启动 @ 端口: "+port+"\n");
while(isStarted)
{
Socket client = this.ss.accept(); /* -- 监听客户端的连接 -- */
DataInputStream in = new DataInputStream(client.getInputStream());
String name = in.readUTF();
user u = new user();
u.name = name;
u.socket = client;
lists.add(u); //将该用户加到列表中去
num1++;
num2++;
currnum.setText(" 当前在线人数: "+num1);
totalnum.setText(" 上线总人数: "+num2);
this.allmsg.append((new Date()).toLocaleString()+" : "+u.name+" 登录 \n");
new Thread(new ClientThread(u)).start();/* -- 为该用户启动一个通信线程 -- */
}

} catch (IOException e) {
System.out.println("服务器已经启动......");
System.exit(0);
}
}

/**
* 通信线程主要功能包括:
* 1.监听客户端输入的信息
* 2.将接收到的信息转发给其他用户 */
class ClientThread implements Runnable
{
user user = null;
boolean isConnected = true;
DataInputStream dis = null;
DataOutputStream dos = null;

public ClientThread(user u)
{
this.user = u;
try {
this.dis = new DataInputStream(this.user.socket.getInputStream());
this.dos = new DataOutputStream(this.user.socket.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void run()
{
readmsg();
}

/* -- 读取客户的聊天信息 -- */
@SuppressWarnings("deprecation")
public void readmsg()
{
while(isConnected)
{
try {
String msg = dis.readUTF();
if("quit&logout".equals(msg))//当用户关闭客户端窗口时,发送quit字符串 表示用户已经退出
{
num1--;
try{
this.dis.close();
this.dos.close();
this.user.socket.close();
this.isConnected = false;
}catch(IOException ioe)
{
ioe.printStackTrace();
}finally{
this.isConnected = false;
if(dis!=null) this.dis.close();
if(dos!=null) this.dos.close();
if(this.user.socket!=null) this.user.socket.close();
}
lists.remove(this.user);//从列表中删除该用户
currnum.setText(" 当前在线人数: "+num1);
allmsg.append((new Date()).toLocaleString()+" : "+this.user.name+" 退出\n");
}
else
sendmsg(msg);
} catch (IOException e) {
e.printStackTrace();
}
}
}

}

/* -- 将信息进行转发 -- */
public void sendmsg(String msg)
{
user us = new user();
DataOutputStream os = null;
if(lists.size()>0)
{
for(int i=0;i<lists.size();i++)
{
us = lists.get(i);
try {
os = new DataOutputStream(us.socket.getOutputStream());
os.writeUTF(msg);
} catch (IOException e) {
e.printStackTrace();
}
}
}
else
JOptionPane.showMessageDialog(null, "当前无用户在线。发送消息失败","失败",JOptionPane.OK_OPTION);
}

public void destory()
{
try {
this.ss.close();
} catch (IOException e) {
e.printStackTrace();
}
this.dispose();
}

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

}
=================================================
package server;

import java.net.*;

public class user {

String name;
Socket socket;
}

⑺ 怎样用Java程序编写一个聊天机器人(自动和人聊天的程序)

是这样的错误么?
Frist.java:5: cannot resolve symbol
symbol : class Scanner
location: class Frist
Scanner input=new Scanner(System.in);

Scanner是JDK1.5开始才有的
这样的错误是因为JDK版本不够,不支持。内。。

我用的就是1.4.2 所以是这容样的错误

阅读全文

与java聊天机器人源码相关的资料

热点内容
app充值请联系itunes 浏览:678
矢量app和cdr哪个好 浏览:85
系统文件坏了如何修复 浏览:20
键盘系统文件误删 浏览:738
白金英雄坛所有版本 浏览:842
ps文件转hsj 浏览:382
哪个网站电影 浏览:490
ps4游戏文件格式名称 浏览:290
caxa教程2007 浏览:832
新点是什么小说网站 浏览:753
魔兽世界冰封王座3版本转换器 浏览:418
苹果3dtouch软件 浏览:979
qq视频在哪个文件夹里面 浏览:740
请帖制作网站java源码 浏览:257
自己的网站怎么做兼职 浏览:608
医院基础数据是什么 浏览:744
为什么数据线没有typec接口 浏览:39
苹果手机文件管家 浏览:187
qq头像男生水里 浏览:633
联想电脑初始密码 浏览:517

友情链接