如何阻止人们在我的代码中按返回

时间:2015-12-05 22:36:14

标签: java arrays for-loop hashmap bluej

你基本上写了这个代码,它将一个hashmap存储到一个外部文本文件中。所以当用户输入write时,他们在写入后键入的第一个值(索引1)和第二个索引(2)的值被存储分别作为关键和价值。问题是它必须在一行上,如果用户在键入“写入”后按下返回,则系统崩溃。那么我怎么能这样做才能让用户在键入键和值之前按回车键呢?

这是我的代码,

if (input.contains("write")) {
    String key = input.get(1);
    String value = "";
    for(int i=2; i<input.size(); i++) {
        value = value + " " + input.get(i);
    }
    instruct.mapWrite(key, value);
}

我使用scanner类来获取输入,然后使用以下方法将字符串拆分为数组。这就是我可以将输入存储到HashMap中的方法。

public ArrayList<String> getInput() 
    {
        System.out.print("> ");                // print prompt
        String inputLine = reader.nextLine().trim().toLowerCase();

        String[] wordArray = inputLine.split(" ");  // split at spaces

        // add words from array into ArrayList
        ArrayList<String> words = new ArrayList<String>();
        for(String word : wordArray) {
            words.add(word);
        }
        return words;
    }

1 个答案:

答案 0 :(得分:0)

你无法在这个级别阻止它。

<强>但是

  • 而不是愚蠢的提示,告诉用户您的期望,
  • 检查令牌数量(RewriteCond %{HTTP_HOST} ^([a-z.]+)?yoursite\.com$ [NC] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule .? http://www.%yoursite.com%{REQUEST_URI} [R=301,L] ),打印错误消息并再次询问。