【发布时间】:2014-05-11 01:18:03
【问题描述】:
所以我在做一个程序,一个不同的类指的是不同类中的一个 int:
if (Doihavetools==0 && Stone.StoneCounter>=10 && Wood.WoodCounter>=50){
但在另一个类中,int在值被“++”ed之前初始化
int WoodCounter;
@Override
public void actionPerformed(ActionEvent e) {
String action = e.getActionCommand();
if (action.equals("Chop some wood")) {//ADD A .25 SECOND DELAY INBETWEEN CLICKS
Random Rand = new Random();
int W = Rand.nextInt(3) + 1;
if(W==2){
WoodCounter++;
}
Wood.setText("Click To Collect Wood : Wood:" + WoodCounter);
System.out.println(WoodCounter);
}
}
有没有办法让我可以成功地初始化它并同时添加到它? (我希望能够不断添加)
提前致谢, 杰克
【问题讨论】:
-
可能是我,但我很困惑。你能再澄清一下你的目标吗?
-
当我执行第一个 if 语句时,“woodcounter”总是出现零值,因为 java 看到它已初始化,然后跳过我添加它。询问您是否需要更多解释
-
与您的问题无关,在 Java 中,约定是使所有变量以小写字母开头,类型以大写字母开头,常量全部为大写字母。遵守此约定将有助于其他人阅读您的代码。
-
是的,再次仅代表我自己,我需要更多解释。此外,这些变量不是静态的吗?如果他们是,他们不应该是。顺便说一句,你会想要学习和使用Java naming conventions。变量名应全部以小写字母开头,而类名应以大写字母开头。
-
@Wamlab 您的第一行代码中包含
Wood.WoodCounter这一事实大量意味着WoodCounter实际上是一个静态变量,除非您将实例命名为Wood带有大写字母...在这种情况下,所经历的混乱完全不足为奇。
标签: java if-statement int