Java 将字符串用户输入作为参数传递给具有类类型参数的方法
我以Java 将字符串用户输入作为参数传递给具有类类型参数的方法,java,hashmap,Java,Hashmap,我以String的形式接受用户的输入,我想将该字符串传递给一个方法,该方法接受类类型中的参数。 这样做可能吗? 我尝试过使用Hashmap。这样行吗 有关守则如下: Node是类类型,startNode和goalNode是用户的String输入 public class search { Scanner input = new Scanner(System.in); filename = input.next(); File file = new Fi
String
的形式接受用户的输入,我想将该字符串传递给一个方法,该方法接受类
类型中的参数。
这样做可能吗?
我尝试过使用Hashmap。这样行吗
有关守则如下:
Node
是类类型,startNode
和goalNode
是用户的String
输入
public class search {
Scanner input = new Scanner(System.in);
filename = input.next();
File file = new File(filename);
System.out.print("Enter the start node: ");
startNode = input.next();
System.out.print("Enter the goal node: ");
goalNode = input.next();
search s = new search();
Map<String,Node> map = new HashMap<String,Node>();
Node start = new Node();
Node goal = new Node();
map.put("startNode",start);
map.put("goalNode",goal);
System.out.println(map.get("startNode")); //IT IS PRINTING NULL HERE
s.searchmap(map.get("startNode"), map.get("goalNode")); //CALLING THE METHOD
例如,假设用户为startnode输入“s”,为goalnode输入“g”(字符串),我需要将其作为节点
类型传递给方法searchmap
当我这样做时,它将返回null。 为什么会这样?任何一种线索都是值得赞赏的
if (map.contains("startNode") && map.contains("goalNode")){
s.searchmap(map.get("startNode"), map.get("goalNode"));
}
hashmap
上的方法get()
将返回指定的键
映射到的值,如果该映射
不包含键的映射,则返回null
。如果您得到的是null
,则没有为特定键映射的值。使用包含
在映射上
并检查特定键是否有值,如果有,则返回true 将假定start
为空。请发布一个而不仅仅是一个片段-如果我们可以重现这个问题,我们将更好地帮助您。显示为start
和goal
变量赋值的代码。我已经编辑了它,请检查代码是否不完整哦,不!你想让我也发布节点
类吗?:/@SauravKumarMehtaI认为如果条件
只是验证它,但我想知道为什么start返回null,即使我已将其映射到“startNode”(用户输入)
if (map.contains("startNode") && map.contains("goalNode")){
s.searchmap(map.get("startNode"), map.get("goalNode"));
}