Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串用户输入作为参数传递给具有类类型参数的方法_Java_Hashmap - Fatal编程技术网

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"));
}