【发布时间】:2024-01-18 13:16:01
【问题描述】:
我有三门课。一个超类probability,一个子类Eating和一个跑步者类Person。
目标是在 for 循环中满足条件时“触发”某些方法。吃(方法dox)会增加变量权重。一旦体重大于 120,dox 被调用的概率 (int px) 就会降低,而锻炼的概率 (py) 会增加,直到体重降至阈值以下。
但是我的 int px 永远不会减少。为什么是这样?下面是我的降低概率方法和调用它们的触发器。
public void Trigger()
{
if (weight >= 120)
{
dProb(px);
dProb(pz);
iProb(py);
}
if (weight <= 80)
{
dProb(py);
iProb(px);
iProb(pz);
}
public void dProb(int p)
{
p -= 5;
}
public void iProb (int p)
{
p += 5;
}
【问题讨论】:
-
Java 是按值传递的(谷歌这意味着什么),所以这永远行不通。为什么你还需要
py += 5的方法?
标签: java for-loop increment probability