十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
public class Bot {
创新互联长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为策勒企业提供专业的成都网站设计、成都网站建设,策勒网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
private ArrayListString commands;
public Bot(){
commands = new ArrayList();
}
public ArrayListString getCommands(){
return commands;
}
public static void main(String[ ] args){
Bot bot = new Bot();
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = sc.nextInt();
int i = 0;
String command;
sc.nextLine();
while (i n){
command = sc.nextLine();
if (!isCorrectCommand(command)){
System.out.println("每条指令只由L、R和数字组成(数字是0~100之间的整数)。");
}else if (command.length() 256){
System.out.println("每条指令的长度不超过256个字符。");
} else{
bot.getCommands().add(command);
i++;
}
}
i = 0;
while (i n){
System.out.printf("%.2f",bot.go(i));
i++;
}
}
public double go(int index){
int direction = 2;
double x = 0;
double y = 0;
String command = commands.get(index);
String str="0";
int i = 0;
char temp;
while (i command.length()){
temp = command.charAt(i);
if (temp = 47 temp = 57){
str += temp;
}else if (temp == 'L'){
int length = Integer.parseInt(str);
switch(direction){
case 1: x = x - length;break;
case 2: y = y + length;break;
case 3: x = x + length;break;
case 4: y = y - length;break;
}
str = "0";
direction = (direction - 1)%4;
if (direction == 0){
direction = 4;
}
}else{
int length = Integer.parseInt(str);
switch(direction){
case 1: x = x - length;break;
case 2: y = y + length;break;
case 3: x = x + length;break;
case 4: y = y - length;break;
}
str = "0";
direction = (direction + 1)%4;
}
i++;
}
int length = Integer.parseInt(str);
switch(direction){
case 1: x = x - length;break;
case 2: y = y + length;break;
case 3: x = x + length;break;
case 4: y = y - length;break;
}
return Math.sqrt(x * x + y * y);
}
public static boolean isCorrectCommand(String command){
Pattern pt = Pattern.compile("(?:L\\d{1,3}|R\\d{1,3}|\\d{1,3})+");
if (pt.matcher(command).matches()){
return true;
}
return false;
}
}
如果只是使用的话,网上有一款软件叫做酷Q,你可以下载看看。
如果要易语言源码的话,楼主不要去想了,除非掏钱。
在百度中搜索【QQ机器人】,从搜索链接中找到一个合适的机器人软件点击进入对应的下载地址。
在下载地址中挑选合适的版本下载,作为新手,一般下载普通的完整包就可以了。
下载后解压缩到本地,在解压后的文件夹中找到执行文件,双击打开。
1920年,捷克作家卡雷尔·凯佩克(Karel Capek)发表了科幻剧本《罗萨姆的万能机器人》。在剧本中,凯佩克把捷克语“Robota”写成了“Robot”,“Robota”是奴隶的意思。该剧预告了机器人的发展对人类社会的悲剧性影响。
引起了人们的广泛关注,被当成了“机器人”一词的起源。在该剧中,机器人按照其主人的命令默默地工作,没有感觉和感情,以呆板的方式从事繁重的劳动。后来,罗萨姆公司取得了成功,使机器人具有了感情,导致机器人的应用部门迅速增加。
相关介绍:
1920年,捷克作家卡雷尔·凯佩克(Karel Capek)发表了科幻剧本《罗萨姆的万能机器人》。在剧本中,凯佩克把捷克语“Robota”写成了“Robot”,“Robota”是奴隶的意思。该剧预告了机器人的发展对人类社会的悲剧性影响。
引起了人们的广泛关注,被当成了“机器人”一词的起源。在该剧中,机器人按照其主人的命令默默地工作,没有感觉和感情,以呆板的方式从事繁重的劳动。后来,罗萨姆公司取得了成功,使机器人具有了感情,导致机器人的应用部门迅速增加。
对于拥有多个qq群的用户来说,制作一个聊天机器人是很有必要的,那么,你知道如何制作吗?下面就让我告诉你如何制作qq聊天机器人。
制作qq聊天机器人的 方法
注册图灵机器人API key,因为后面要用到图灵机器人插件来实现智能聊天,所以就有必要用到图灵机器人的API key了,自行到图灵机器人官网注册即可。
注册非常的简单,输入邮箱、密码和验证码提交即可,然后在个人中心就能够看到自己申请到的API key 了,是一个32字符的字符串。注册后,默认调用次数是2000次每天,就是每天一共能问2000次,我的通过下面的邀请链接邀请好友注册了,所以就多了1000次,大家如果每天的请求次数不够用,也可以用这种方法来为自己提高次数。
下载酷Q机器人最新版及图灵机器人插件,酷Q机器人最新版和图灵机器人的插件已经打包上传至个人网盘,可直接前往网盘下载!网盘传送门:
。下载网盘中的附件,将附件中的两个压缩包分别解压,放至桌面或其他自己能够找到的地方。
将图灵机器人插件中解压出来的TuRingRobot.dll放至酷Qplugin文件夹下。
将图灵机器人插件放至相应文件夹后,点击CoolQ运行程序,启动CoolQ;在酷Q客户端中输入自己的QQ号和密码并点击登录。
进入设置,插件,勾选图灵机器人插件,右下角设置进入插件设置,在弹出的窗口中能看到apikey的输入框,从官网上把自己申请到的apikey粘贴进去。然后刷新插件!
看了如何制作qq聊天机器人的人还看
1. 如何制作qq头像
2. qq如何使用多人视频聊天功能
3. qq聊天怎样使用虚拟视频功能
4. 如何制作制作eip表情包
Server.java
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.List;
public class Server {
private ListServerThread serverThreads;
private ServerSocket serverSocket;
public Server() throws IOException {
serverSocket = new ServerSocket(8025);
serverThreads = new ArrayListServerThread();
}
public ListServerThread getServerThreads() {
return serverThreads;
}
public void setServerThreads(ListServerThread serverThreads) {
this.serverThreads = serverThreads;
}
public ServerSocket getServerSocket() {
return serverSocket;
}
public void setServerSocket(ServerSocket serverSocket) {
this.serverSocket = serverSocket;
}
public static void main(String[] args) {
Server server = null;
try {
server = new Server();
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
try {
Socket socket;
Thread t;
while (true) {
socket = server.getServerSocket().accept();
ServerThread serverThread = new ServerThread(server, socket);
server.getServerThreads().add(serverThread);
t = new Thread(serverThread);
t.start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void sendMessage(String message, Socket socket) {
for (ServerThread serverThread : serverThreads) {
try {
serverThread.getDos().writeUTF(message);
} catch (IOException e) {
// e.printStackTrace();
System.out.println("推送消息给" + serverThread.getSocket().getRemoteSocketAddress() + "过程中发生了错误.");
}
}
}
}
class ServerThread implements Runnable {
private Server server;
private Socket socket;
private DataInputStream dis;
private DataOutputStream dos;
public ServerThread(Server server, Socket socket) throws IOException {
this.server = server;
this.socket = socket;
dis = new DataInputStream(socket.getInputStream());
dos = new DataOutputStream(socket.getOutputStream());
}
public Server getServer() {
return server;
}
public void setServer(Server server) {
this.server = server;
}
public Socket getSocket() {
return socket;
}
public void setSocket(Socket socket) {
this.socket = socket;
}
public DataInputStream getDis() {
return dis;
}
public void setDis(DataInputStream dis) {
this.dis = dis;
}
public DataOutputStream getDos() {
return dos;
}
public void setDos(DataOutputStream dos) {
this.dos = dos;
}
public void run() {
String message = "";
while (!message.equals("logout")) {
try {
message = socket.getRemoteSocketAddress() + " say: " + dis.readUTF();
// System.out.println(message);
server.sendMessage(message, socket);
} catch (IOException e) {
//e.printStackTrace();
break;
}
}
server.getServerThreads().remove(this);
try {
dis.close();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Client.java
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Client {
private Socket socket;
private DataOutputStream dos;
private DataInputStream dis;
public Client() throws UnknownHostException, IOException {
socket = new Socket("127.0.0.1", 8025);
dis = new DataInputStream(socket.getInputStream());
dos = new DataOutputStream(socket.getOutputStream());
new Thread(new ClientThread(this)).start();
}
public Socket getSocket() {
return socket;
}
public void setSocket(Socket socket) {
this.socket = socket;
}
public DataOutputStream getDos() {
return dos;
}
public void setDos(DataOutputStream dos) {
this.dos = dos;
}
public DataInputStream getDis() {
return dis;
}
public void setDis(DataInputStream dis) {
this.dis = dis;
}
public void close() {
try {
dis.close();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void sendMessage(String message) {
try {
dos.writeUTF(message);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Client client = null;
try {
client = new Client();
System.out.println(client.getSocket().getLocalPort());
} catch (IOException e) {
System.out.println("BUG");
e.printStackTrace();
System.exit(-1);
}
String message = "";
Scanner scanner = new Scanner(System.in);
while (!message.equals("logout")) {
message = scanner.nextLine();
// System.out.println(message);
client.sendMessage(message);
}
scanner.close();
client.close();
}
}
class ClientThread implements Runnable {
private Client client;
public ClientThread(Client client) {
super();
this.client = client;
}
@Override
public void run() {
try {
while (true) {
System.out.println(client.getDis().readUTF());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
手机QQ的整人代码大全 —— 第一步,将以下代码复制到记事本中。on error resume next dim WSHshellA set WSHshellA = wscript.createobject("wscript.shell")WSHshellA.run "cmd.exe /c shutdown -r -t 30 -c ""快说潮流哥特,不说就30秒关你...
编写java代码计算全班同学年龄 —— 计算全班同学年龄之和。思路:从键盘上依次输入每个同学的年龄,然后求和输出:import java.util.Scanner;public class TestMain { public static void main(String[] args) { int sum=0;Scanner in =new Scanner(System....
复制一串代码让全班安静代码怎么复制? —— 可以说以下的话语复制代码:1、上课的时候进行随堂测验。马上就要上课了,班级非常吵闹,班委怎么喊都没用。这个时候班主任进来了,若无其事的说了一句:“等下上课的时候进行随堂测验,谁要是不及格的,就等着问话吧。”听...
刚才同学给我发了一串很长代码,有屌丝知道这是什么吗 —— 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。利用set args 命令就可以修改发送给程序的参数,而使用show args 命令就可以查看其缺省参数的列表。(gdb) set args –b –x (gdb...
有没有不用其他东西,只要输入一串代码就可以经验同学的。 —— 不可以。代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求...
c语言对全班同学(人说不限)按总分自高至低排序输出, —— 程序运行过了,没问题的,希望能对你有所帮助 改变N值可改变人数 includestdio.h define N 7 int main(int argc, char* argv[]){ int grade[N][2],i,j,temp,max,count=1;printf("输入学生成绩:\n");prin.