有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

根据条件搜索Java初始化变量

我正在编写一个Java程序来模拟a*算法,需要向我的a()函数传递两个参数initial stategoal state。然而,为了确保我有正确的目标状态,我检查它的启发值是否为0。如果是,则我标记boolean goal == true,否则我将其标记为false

我想知道,是否有任何方法可以通过检查变量的布尔值,将变量State goal初始化为该目标状态

for(int i = 0; i < states.size(); i++)
    states.get(i).isGoal();

states是算法状态的哈希映射,isGoal()是根据其启发值设置每个状态的布尔标志的方法


共 (2) 个答案

  1. # 1 楼答案

    我想你想要这样的东西:

    for(int i = 0; i < states.size(); i++) {
            if(map.get(i).isGoal()){
                //instantiate wherever you want if goal is true
                map.get(i).setGoal();
            } else {
                //instantiate wherever you want if goal is false
            }
        }
    
  2. # 2 楼答案

    isGoal()返回一个布尔值,并在检查isGoal标志后设置State goal。i、 e

    for(int i = 0; i < states.size(); i++)
        if(map.get(i).isGoal()){
            map.get(i).setGoal();
        }