Java – 根据条件初始化变量

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

我想知道,有没有办法通过检查它的布尔值来初始化一个变量State goal到那个目标状态?

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

states是算法的状态HashMap,isGoal()是一个方法,根据其启发式值设置每个状态的布尔标志。


回答:

我想你想要的是这样的代码:

for(int i = 0; i < states.size(); i++) {        if(map.get(i).isGoal()){            //如果目标为true,在你想要的地方实例化            map.get(i).setGoal();        } else {            //如果目标为false,在你想要的地方实例化        }    }

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注