作者:欣欣然人人宇 | 来源:互联网 | 2023-01-30 17:40
所以,我正在用Java创建一个基于文本的游戏,货币就是豆形软糖.不过我有一个问题.每当我设置货币加5时,它就不会,并返回0.这是代码
public class Util{
public int Jellybeans = 0;
public void jellybeans(int Amount){
Jellybeans = Jellybeans + Amount;
}
public int getJellybeans(){
return Jellybeans;
}
}
public class Tutorial{
Util util = new Util();
private int jellybeanCount = util.getJellybeans();
private void dialog(){
//unrelated irrelevant stuff
util.jellybeans(5);
Util.printAnimatedText("You now have " + jellybeanCount + "
jellybeans!")'
}
}
任何帮助将不胜感激,这可能是一个基本问题,但我不确定
1> Yahya..:
你getJellybeans()
在错误的地方调用.你需要做的是:
Util util = new Util();
private int jellybeanCount;
private void dialog(){
util.jellybeans(5);
jellybeanCount = util.getJellybeans(); // here
Util.printAnimatedText("You now have " + jellybeanCount + "
jellybeans!")'
}
这是为什么?
因为当您Util
在开头创建对象时,该Jellybeans
字段仍为空(或特别等于ZERO).因此,当您调用时getJellybeans()
,该字段仍然没有5,并返回其初始值ZERO.
但是,在将字段的值设置为5之后util.jellybeans(5);
,您将拥有一个值为0以外的字段.你现在可以得到.