不接受像什么的话

时间:2014-02-18 00:28:25

标签: java

我试图让我的节目接受像什么这样的话,但是它不是所有的东西都是像你好的话,嗨但是没有任何像{whats up}这样的空格的话可以有人对什么有所了解我做错了吗?我的代码没有错误只是我试图让它接受像什么一样的话,你怎么样

    * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */

    package bot;

    import java.util.*;

    /**
     *
     * @autr kesha
     */
    public class tst {
        public static void main(String[] args){
            Scanner input=new Scanner(System.in);



        HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
        // the ArrayList replaces your HashSet.
        ArrayList<String> list = new ArrayList<String>();   
        ArrayList<String> list1 = new ArrayList<String>();  
        Random r = new Random();

        list.add("Hello");
        list.add("Hi");
        list.add("How's you whats up");
        list.add("Hey");

        list1.add("Yuh mother");

        map.put("hi", list);
        map.put("whats up", list);
        map.put("hello", list);

        map.put("hoe", list1);


        System.out.println("enter Hi");
        String str = input.next().toLowerCase().trim();

        while(map.containsKey(str)){

        if (map.containsKey(str)) {
            ArrayList<String> tmpList = map.get(str); 

            int randomNumber = r.nextInt(tmpList.size()); 

            System.out.println(tmpList.get(randomNumber)); 

 System.out.println("enter Hi");

        str = input.next().toLowerCase().trim();
        }
    }

    }

2 个答案:

答案 0 :(得分:2)

您正在调用Scanner.next(),其中“查找并返回此扫描程序中的下一个完整令牌”。

您想要拨打nextLine(),这需要一整行输入。

答案 1 :(得分:0)

我相信.next()会将你的字符串剪切到空格。 试试这个..

String str = input.nextLine().toLowerCase().trim();