4.编写一个聊天机器人小P,你说:“你好”他回答 “你好我是小P你是谁啊”  如果你说的话不在“你好”“再见”“我是令狐冲”这三句话之内那么小P说 对不起 我不懂你在说什么 如果你说再见 小P说再见!下来还找我玩哦 之后循环退出,程序结束 
为什么我这个写的我输入 你好  或者我是令狐冲 他都给我输出 对不起我不懂你在说什么! import java.util.*;
public class Work1{
public static void main(String[] args){
String answer;
Scanner input = new Scanner(System.in);
System.out.println("可以和机器人聊天了!你想对他说些什么呢?");

do{
answer = input.next();
if(answer=="你好"){
System.out.println("你好!我是小P,你是谁啊!");
answer = input.next();
}else if(answer=="我是令狐冲"){
System.out.println("你终于回来啦!好想你哦!");
}else{
System.out.println("对不起!我不懂你在说什么!");
}
}while(!answer.equals("再见"));
System.out.println("再见!下次还找我来玩哦!");
}
}

解决方案 »

  1.   


    import java.util.*;public class Work1 {
    public static void main(String[] args) {
    String answer;
    Scanner input = new Scanner(System.in);
    System.out.println("可以和机器人聊天了!你想对他说些什么呢?"); do {
    answer = input.next();
    if (answer.equals("你好")) {
    System.out.println("你好!我是小P,你是谁啊!");
    answer = input.next();
    } else if (answer.equals("我是令狐冲")) {
    System.out.println("你终于回来啦!好想你哦!");
    } else {
    System.out.println("对不起!我不懂你在说什么!");
    }
    } while (!answer.equals("再见"));
    System.out.println("再见!下次还找我来玩哦!");
    }
    }
      

  2.   


    java 的字符串 比较 不要用 == 要用 equals()
    do {
    answer = input.next();
    if (answer.equals("你好")) {
    System.out.println("你好!我是小P,你是谁啊!");
    } else if (answer.equals("我是令狐冲")) {
    System.out.println("你终于回来啦!好想你哦!");
    } else {
    System.out.println("对不起!我不懂你在说什么!");
    }
    } while (!answer.equals("再见"));
    System.out.println("再见!下次还找我来玩哦!");
      

  3.   

    大部分程序员会漠视程序设计的复杂性,然后用程序体积来完成工作,方法就是if...else if...main方法里面放一个while循环就够了,scan(System.in)会不停的给你字符串的,问题是:你能设计2个类么(至少2个方法)?一个用于启动工作(放while循环),另一个处理字符串!