gpt4 book ai didi

java - 捕获 false containsValue(Hashmap)

转载 作者:行者123 更新时间:2023-12-01 11:07:21 25 4
gpt4 key购买 nike

如果我在类型和值中输入了错误的值,我希望我的程序显示错误消息。

错误消息适用于类型,但不适用于值。这是怎么回事?

Map<String, String> Heart = new HashMap();

Heart.put("A", "Heart");
Heart.put("J", "Heart");
Heart.put("Q", "Heart");
Heart.put("K", "Heart");
Heart.put("2", "Heart");
Heart.put("3", "Heart");
Heart.put("4", "Heart");
Heart.put("5", "Heart");
Heart.put("6", "Heart");
Heart.put("7", "Heart");
Heart.put("8", "Heart");
Heart.put("9", "Heart");
Heart.put("10", "Heart");

System.out.print("Value: ");
val = input.next();
System.out.print("Type: ");
typ = input.next();
if(typ.equals("Heart")){
if(Heart.containsKey(val)&&Heart.containsValue(typ)){
System.out.println(val+" of "+typ+" is successfully added.\n");
}
if(Heart.containsKey(val)==false){
try{
throw new InvalidValueException();
}
catch(InvalidValueException e){
System.out.println(e.getMessage()+" 2-10, AJQK.\n");
}
}
else if(Heart.containsValue(typ)==false){
try{
throw new InvalidValueException();
}
catch(InvalidValueException e){
System.out.println(e.getMessage()+" HDSC\n");
}
}
}

最佳答案

如果所有键的值相同,则应该创建 List<String>类型而不是使用 Map 。然后你可以允许用户输入类型并检查是否 List#contains类型与否。

如果这只是一个示例,那么每种类型都有不同的值,

  • 您可以 throw Exception有消息不需要捕获和打印消息。您可以在构造函数中传递消息。

  • 如果 type是值和 valkey ,然后typ.equals("Heart")检查是多余的,因为您正在检查 Heart.containsValue(typ) .

  • 所以,如果你的typ不是Heart您将无法输入条件和 if(Heart.containsKey(val)==false){如果 typ 则永远不会成立不是Heart .

  • 您应该删除 if(typ.equals("Heart"))检查一下。

最好遵循命名约定,变量名以小写开头。

关于java - 捕获 false containsValue(Hashmap),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32804491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com