Java - 在条件下初始化变量

时间:2014-10-13 18:25:58

标签: java search artificial-intelligence

我正在编写一个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是算法状态的HashMap,isGoal()是一种设置每个状态的布尔标志的方法,具体取决于其启发式值。

2 个答案:

答案 0 :(得分:0)

isGoal()返回布尔值并在检查State goal标志后设置isGoal。即。

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

答案 1 :(得分:0)

我想你想要这样的东西:

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
        }
    }