JAVA如何跳过初始化的变量?

JAVA如何跳过初始化的变量?,java,if-statement,int,Java,If Statement,Int,所以我在做一个程序,不同的类指的是不同类中的int: if (Doihavetools==0 && Stone.StoneCounter>=10 && Wood.WoodCounter>=50){ 但在另一个类中,int在值为“+”之前初始化 有没有一种方法可以让我成功地初始化它并同时添加到它?(我希望能够不断增加) 提前感谢,, Jack除非您想将其用于某些用途,否则不应声明woodCounter变量。写入wood.woodCounter以访问您似

所以我在做一个程序,不同的类指的是不同类中的int:

if (Doihavetools==0 && Stone.StoneCounter>=10 && Wood.WoodCounter>=50){
但在另一个类中,int在值为“+”之前初始化

有没有一种方法可以让我成功地初始化它并同时添加到它?(我希望能够不断增加)

提前感谢,,
Jack

除非您想将其用于某些用途,否则不应声明
woodCounter
变量。写入
wood.woodCounter
以访问您似乎想要访问的变量。

我认为您想要的是让变量保持其值。尝试创建另一个布尔变量,在初始化它之前,检查是否已经这样做。另外,在类中声明此布尔值,其中

if (Doihavetools==0 && Stone.StoneCounter>=10 && Wood.WoodCounter>=50){ 
现在,在最上面。(公开)

所以。。。那你可以

if(initialized == false)
{
    int WoodCounter;
    initialized = true;
}

要么这样,要么直接使用Wood.WoodCounter而不是声明一个新变量。

可能是我,但我很困惑。你能再澄清一下你的目标吗?当我执行第一个if语句时,“woodcounter”总是给出零的值,因为java看到它被初始化了,然后跳过了我对它的添加。询问您是否需要更多与您的问题无关的解释,在Java中,惯例是使所有变量都以小写字母开头,类型以大写字母开头,常量都以大写字母开头。遵守此约定将帮助其他人阅读您的代码。是的,再次仅为我自己发言,我需要更多的解释。而且,这些变量不是静态的,是吗?如果是,就不应该是。作为旁白,你需要学习和使用。变量名都应该以小写字母开头,而类名应该以大写字母开头。@Wamlab您的第一行代码中有
Wood.WoodCounter
,这一事实意味着
WoodCounter
实际上是一个静态变量,除非您用大写字母命名
Wood
。。。在这种情况下,所经历的混乱完全不令人惊讶。在actionPreformed方法之前声明woodCounter是woodCounter第一次被删除(在Wood类中),然后全局声明它?这不是问题所在。问题是,调用WoodCounter的地方看到的是“int WoodCounter”;然后就这样做,而不是等待看到它的附加值如果你在全球范围内声明它,你就不必等待它获得一个值,它已经有了一个值,假设另一个类在WoodCounter所在的同一个类中的某个地方被调用……如果可以,我会向上投票,但我还没有代表(我的第一篇文章)
if(initialized == false)
{
    int WoodCounter;
    initialized = true;
}