Java 如何阻止人们在我的代码中按回车键
Hi基本上编写了这段代码,它将hashmap存储到外部文本文件中,因此当用户在write中键入时,他们在write index 1之后键入的第一个值和index2处键入的第二个值分别存储为键和值。问题是,所有内容都必须在一行上,如果用户在输入write后按return键,系统将崩溃。那么,我如何使它不允许用户在键入键和值之前按return键呢 这是我的密码Java 如何阻止人们在我的代码中按回车键,java,arrays,for-loop,hashmap,bluej,Java,Arrays,For Loop,Hashmap,Bluej,Hi基本上编写了这段代码,它将hashmap存储到外部文本文件中,因此当用户在write中键入时,他们在write index 1之后键入的第一个值和index2处键入的第二个值分别存储为键和值。问题是,所有内容都必须在一行上,如果用户在输入write后按return键,系统将崩溃。那么,我如何使它不允许用户在键入键和值之前按return键呢 这是我的密码 if (input.contains("write")) { String key = input.get(1); Stri
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;
}
你不能在这个级别阻止它 但是 告诉用户您的期望,而不是愚蠢的提示, 检查ifwordArray.length<3的令牌数,打印错误消息并再次询问。
你无法阻止这种行为,因此你必须让你的程序对它免疫。一个有效解决方案的细节取决于你的代码和问题的细节。你甚至不知道你是如何产生你无法阻止的输入的。也许,你想防止影响:1崩溃你的应用程序:测试什么是按下无效,空白。。。取决于输入值2如果希望控制台不显示CRLF,则必须使用控制台…@fge我已更新了代码,因此它将显示如何生成输入