黑马程序员技术交流社区

标题: 一个好玩的机器人小程序,自己写的挺好玩...... [打印本页]

作者: xiguapi    时间: 2016-9-4 00:12
标题: 一个好玩的机器人小程序,自己写的挺好玩......
package com.itheima.Demo;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Scanner;

import com.itheima.bean.Robot;

/*
*         模拟一个机器人与人对话的情景
* 创建一个机器人,该类有:状态(string) 和 话术(HashMap<string,string>)两个属性
* a. 添加话术(将一下的信息分别添加到map话术中)
*                 key(指令)                :                value(应答)
*                 "你好"                :                "您好,主人"
*                 "我饿了"                :                "您想吃什么,但是我不会做"
*                 "拜拜"                :                "拜拜"
* b. 根据用户在控制台输入的指令,打印出应答的话术,如果用户输入的指令没有对应的应答,则提示"对不起,我不知道怎么回答",直到用户
* 说拜拜,并且应答拜拜后才可以停止键盘录入(键盘录入之前需要检查当前机器人的状态)
* c. 将以上所有跟机器人的对话内容存入当前项目info.txt中
*/
public class Test11 {

        /**
         * @param args
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
                HashMap<String, String> hs = new HashMap<>();
                hs.put("你好", "您好,主人");
                hs.put("我饿了", "您想说什么,但我不会做");
                hs.put("拜拜", "拜拜");

                String state = "close";
                Robot rt = new Robot(state, hs);

                /*
                 * b. 根据用户在控制台输入的指令,打印出应答的话术,如果用户输入的指令没有对应的应答,则提示"对不起,我不知道怎么回答",直到用户
                 * 说拜拜,并且应答拜拜后才可以停止键盘录入(键盘录入之前需要检查当前机器人的状态)
                 */
                Scanner sc = new Scanner(System.in);
                System.out.println("机器人当前状态为" + rt.getState() + "(输入\"open\"打开机器人)");
                while (true) {
                        String s = sc.nextLine();
                        if ("open".equals(s)) {
                                System.out.println("指令正确,机器人已开启,您现在可以跟机器人交流啦!!");
                                rt.setState(s);
                                BufferedWriter bw = new BufferedWriter(new FileWriter(
                                                "info.txt"));
                                while (true) {
                                        String line = sc.nextLine();
                                        if ("拜拜".equals(line)) {
                                                System.out.println(rt.getSpeak().get(line));
                                                bw.write(line + " -  " + rt.getSpeak().get(line));
                                                break;
                                        } else if (rt.getSpeak().containsKey(line)) {
                                                System.out.println(rt.getSpeak().get(line));
                                                bw.write(line + " -  " + rt.getSpeak().get(line));
                                        } else {
                                                System.out.println("对不起,我不知道怎么回答");
                                                bw.write(line + " -  " + "对不起,我不知道怎么回答");
                                        }
                                        bw.newLine();
                                }
                                bw.close();
                                break;
                        } else {
                                System.out.println("您输入的指令不对,请重新输入打开机器人的指令:");
                        }
                }
        }
}



作者: xiguapi    时间: 2016-9-4 00:13
好玩.......
作者: 马蚁牙黑    时间: 2016-9-4 08:13
真会玩,看着还行,打包成jar试试
作者: NewBeeCoder    时间: 2016-9-4 10:08
好玩  hashmap中还可以多加几条 比如讲个笑话什么的  挺有意思的
作者: xiguapi    时间: 2016-9-4 11:44
NewBeeCoder 发表于 2016-9-4 10:08
好玩  hashmap中还可以多加几条 比如讲个笑话什么的  挺有意思的

嗯嗯,里面的话术可以随便填
作者: hgsghost    时间: 2016-9-4 12:15
6666666666666
作者: wb277379322    时间: 2016-9-4 12:27
挺好玩,学习一下
作者: jiubaK    时间: 2016-9-4 13:48
有创意,不过可以增加多一点内容,再加上模糊匹配,应该就更好玩了,good idea
作者: dmyz3214382    时间: 2016-9-4 17:52
恩,挺好玩的,还的多加点东西
作者: 天河边吃紫英    时间: 2016-9-4 18:08
有想法,还可以继续扩展的
作者: 从此学好    时间: 2016-9-4 18:28
可以可以
作者: 细听风语为梧桐    时间: 2016-9-4 18:46
本小白表示看不懂,赞一个吧
作者: njgghhe    时间: 2016-9-4 19:19
貌似很不错的样子
作者: sai1025037768    时间: 2016-9-4 19:30
不错,可以弄下来看看
作者: q554293427    时间: 2016-9-4 20:01
朋友你这是在自嗨哈哈哈
作者: zhoubinjian    时间: 2016-9-4 20:10
不错,赞一个
作者: xqxqwkw    时间: 2016-9-4 20:11
匿名对象传参的调用过程是怎么回事?求解析步骤
作者: ObjectGitHub    时间: 2016-9-4 20:14
你们城里人真会玩啊,
作者: 蜡笔小心眼    时间: 2016-9-4 20:40
你们城里人真会玩啊,
作者: 南Ke一梦    时间: 2016-9-4 20:47
你们城里人真会玩啊。
作者: 孙洪勇    时间: 2016-9-4 20:47
怎么感觉在哪里见过……
作者: yerongjie    时间: 2016-9-4 21:13
支持这个活动。
作者: 左冬至1111111    时间: 2016-9-4 21:24
顶一个!!!!!
作者: daikaisheng    时间: 2016-9-4 21:34
你们城里人真会玩··
作者: xiguapi    时间: 2016-9-4 21:38
孙洪勇 发表于 2016-9-4 20:47
怎么感觉在哪里见过……

看到的一个要求,自己写的代码,呵呵
作者: WHH123    时间: 2016-9-4 21:51
好厉害,看不懂
作者: 袁志娜    时间: 2016-9-4 22:07
城里的人好会玩
作者: 6666666666666    时间: 2016-9-4 22:40
你们城里人真会玩
作者: zhangsen89    时间: 2016-9-4 22:48
我饿了 --> 您想说什么,但我不会做  我要你干干嘛? !  拜拜! -->拜拜!
作者: wsgroup    时间: 2016-9-4 23:43
袁志娜 发表于 2016-9-4 22:07
城里的人好会玩

这不是娜娜吗?哈哈
作者: huihui520111    时间: 2016-9-4 23:55
,不错,,,就喜欢和大神同在!1
作者: YaoDoctor    时间: 2016-9-5 00:25
不错不错
作者: cjhhao1    时间: 2016-9-5 00:40
哇。楼猪真厉害!!!!大神!
作者: xh_javaee    时间: 2016-9-5 09:31
城会玩程序员系列|~~
作者: xiguapi    时间: 2016-9-5 10:01
zhangsen89 发表于 2016-9-4 22:48
我饿了 --> 您想说什么,但我不会做  我要你干干嘛? !  拜拜! -->拜拜!

啥意思?
作者: zhoubinjian    时间: 2016-9-5 10:57
不错 ,段练能学习到更多
作者: 冯云鹤    时间: 2016-9-5 11:16
好好学习  天天向上
作者: LShu    时间: 2016-9-5 12:35
这个例子很好啊,结合了map集合和IO流的知识,赞一个!!
作者: 阿卜    时间: 2016-9-5 13:13
表示你没贴robot类完全不知道rt.setState(),rt.getSpeak()干了什么事……
作者: 疾速火轮    时间: 2016-9-5 13:32
会玩,提供了很好的思路
作者: xhb930329    时间: 2016-9-5 14:03
不错 ,段练能学习到更多
作者: a825125501    时间: 2016-9-5 18:02
比较综合的题目,面试就考的我这个…
作者: yaozequan    时间: 2016-9-5 20:40
这段时间没有空在论坛上学习,但是几乎每天签到!
作者: 白孟    时间: 2016-9-5 20:50
这几天要经常来了
作者: 白孟    时间: 2016-9-5 20:51
手写啊,该怎么办啊
作者: a623562486    时间: 2016-9-5 20:58
能看懂个大概
作者: HARRY_yFd0S    时间: 2016-9-5 21:23
真心666,棒棒哒!
作者: caoshenv5    时间: 2016-9-5 21:31
真心666666666无敌
作者: heilashi    时间: 2016-9-5 21:34
真是有才
作者: dreamwork    时间: 2016-9-5 21:47
大牛,跪了
作者: q2450751976    时间: 2016-9-5 21:49
666666666666666666666666666666666
作者: 栗悟饭和龟波功    时间: 2016-9-5 21:55
好像很厉害的样子
作者: 岳鹏    时间: 2016-9-5 21:56
城会玩?????????
作者: 695212308    时间: 2016-9-5 22:05
66666666666666666666
作者: 邓显俊    时间: 2016-9-5 22:26
不错不错
作者: xianghui0521    时间: 2016-9-5 22:34
能玩一天  666
作者: yuanxianzhi    时间: 2016-9-5 22:57
真牛逼,还能解闷
作者: 青火    时间: 2016-9-5 23:41
挺好玩的....
作者: Lucas1    时间: 2016-9-5 23:43
看不懂,不明觉厉
作者: 胡龙彬    时间: 2016-9-5 23:56
挺好玩,呵呵
作者: XinMingMing    时间: 2016-9-6 00:07
不错,多加点就好玩了
作者: 氓流子    时间: 2016-9-6 00:22
呃呃、好高级
作者: SandyLiu    时间: 2016-9-6 00:49
牛掰.... 不错啊
作者: 山雨欲来风满楼    时间: 2016-9-6 00:52
学习中。。。。。。。。。。
作者: longzhi100    时间: 2016-9-6 08:36
这个可以自己拿来玩一下
作者: fmi110    时间: 2016-9-6 09:10
支持一次啊
作者: zhouyang1993    时间: 2016-9-6 09:13
666666666666
作者: 袁志娜    时间: 2016-9-6 09:15
赞赞赞,顶一下
作者: 覆州水    时间: 2016-9-6 09:38
让我想起了我的硬件生涯
作者: 哈韩浪子    时间: 2016-9-6 10:23
这就是人工智能啊
作者: CaiWeiXiong    时间: 2016-9-6 12:45
赞赞赞,顶一下,哈哈
作者: 枫情    时间: 2016-9-6 13:53
屌屌屌  顶一下
作者: HARRY_yFd0S    时间: 2016-9-6 14:09
赞赞赞,顶一下,哈哈
作者: 王清术    时间: 2016-9-6 15:10
顶一下..........
作者: silence丶早安    时间: 2016-9-6 15:17
666.看了你的。我也想写一个了
作者: 小沧月    时间: 2016-9-6 15:20
666666666厉害啊
作者: denxinzlz610    时间: 2016-9-6 16:34
代码写的很好,支持一个
作者: 17721165644    时间: 2016-9-6 17:45
不错,有想法
作者: 冬天有点冷    时间: 2016-9-6 20:18
这波可以,满分~
作者: 648764479    时间: 2016-9-6 20:55
这个不错
作者: zhengguanyann    时间: 2016-9-6 21:11
不错,,不错,继续保持6666
作者: 白孟    时间: 2016-9-6 21:53
可以,,,不错
作者: 白孟    时间: 2016-9-6 21:55
继续加油!!!
作者: 白孟    时间: 2016-9-6 21:57
改天可以参考参考   
作者: 疯狂的麦克斯    时间: 2016-9-6 21:58
唉吆喂,可以可以
作者: 695212308    时间: 2016-9-6 21:58
66666666666666666666666
作者: 695212308    时间: 2016-9-6 22:01

作者: xiguapi    时间: 2016-9-6 22:02
疯狂的麦克斯 发表于 2016-9-6 21:58
唉吆喂,可以可以

胖子.....
作者: XiaoYang    时间: 2016-9-6 22:24
这是啥.......
作者: Tao_tao    时间: 2016-9-6 22:56
6的不行了
作者: CaiWeiXiong    时间: 2016-9-6 23:02
好像很厉害!
作者: java程序猿    时间: 2016-9-6 23:10
感觉好牛逼
作者: seedseed555    时间: 2016-9-6 23:24
好厉害,学习了
作者: cuitiesuo    时间: 2016-9-6 23:42
屌屌的,又和大神学到了新的东西
作者: xhb930329    时间: 2016-9-7 00:01
帅的人都在努力, ,自己没脸再玩!!
作者: 扶摇直上九万里    时间: 2016-9-7 00:09
帅的人都在努力, ,自己没脸再玩!!
作者: 小胖妞    时间: 2016-9-7 00:13
做的真好
作者: Toxicant    时间: 2016-9-7 01:11
不错的一个小程序,用了Io的技术,也可以用集合的技术试试
作者: 邓显俊    时间: 2016-9-7 07:41
新的一天,新的开始
作者: 哈韩浪子    时间: 2016-9-7 09:07
没发现 少了代码啊 !




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2