JAVA:Hashmap扫描程序输入查找
我正在尝试创建一个类,该类将存储人们的名字和年龄表,并从控制台(例如Bob 19)读取人物和年龄,然后添加到HashMap。在名称、年龄对列表之后,将输入一个没有年龄的名称(例如Bob),用户将终止其输入(ctrl-z)。打印出上次输入的人员的年龄,如果尚未为他们输入年龄,则打印“未知”。例如,如果我输入“mary 12,bob 10,jon 20,bob”,它应该返回10JAVA:Hashmap扫描程序输入查找,java,hashmap,Java,Hashmap,我正在尝试创建一个类,该类将存储人们的名字和年龄表,并从控制台(例如Bob 19)读取人物和年龄,然后添加到HashMap。在名称、年龄对列表之后,将输入一个没有年龄的名称(例如Bob),用户将终止其输入(ctrl-z)。打印出上次输入的人员的年龄,如果尚未为他们输入年龄,则打印“未知”。例如,如果我输入“mary 12,bob 10,jon 20,bob”,它应该返回10 import java.util.ArrayList; import java.util.HashMap; import
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class Hashmap {
public static void main(final String[] args) {
HashMap<String, Integer> names = new HashMap<String, Integer>();
ArrayList<String> nameArray = new ArrayList<String>();
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String name = in.next();
nameArray.add(name);
Integer age = in.nextInt();
names.put(name, age);
}
Integer value;
int x = nameArray.size();
value = names.get(x);
System.out.println("the age is:" + value);
}
}
import java.util.ArrayList;
导入java.util.HashMap;
导入java.util.Scanner;
公共类哈希映射{
公共静态void main(最终字符串[]args){
HashMap名称=新的HashMap();
ArrayList nameArray=新的ArrayList();
扫描仪输入=新扫描仪(系统输入);
while(在.hasNext()中){
字符串名称=in.next();
nameArray.add(name);
整数年龄=in.nextInt();
姓名。填写(姓名、年龄);
}
整数值;
int x=nameArray.size();
value=names.get(x);
System.out.println(“年龄为:”+值);
}
}
谢谢你的帮助。我是一名Java初学者,非常欣赏这一切将名称变量声明移出
而
并使用最后输入的名称
获取年龄。给你:
String name
while (in.hasNext()) {
name = in.next();
nameArray.add(name);
Integer age = in.nextInt();
names.put(name, age);
}
Integer value;
value = names.get(name);
System.out.println("the age is:" + value);
感谢您的回复,但是这个解决方案将只输出我给hashmap的最后一个完整输入。例如,如果我输入(jon 12,mary 13,jon),我希望它查看最后一个输入“jon”,并在hashmap中查找以返回12。