2016-12-09 66 views
-2

我想在if语句(我写的+ i +)中使用“int i”。Java中的变量内部变量

下面的代码:

for (int i = 0; i <6; i++) { 
if (mouseX > mindmap.c+i+mX - mindmap.c+i+.mD/2 && mouseX < mindmap.c+i+.mX + mindmap.c+i+.mD/2) { 
    if (mouseY > mindmap.c1.mY - mindmap.c1.mD/2 && mouseY < mindmap.c1.mY + mindmap.c1.mD/2) { 
    println("hej"); 
    } 
} 

我希望我的循环中使用的变量mindmap.c0.mX在循环的第一次迭代,即mindmap.c1.mX在第二次迭代后,再mindmap.c2.mX等。这可以做到吗?

我们使用Processing作为工具。

+0

是的,它可以做到!你的代码不工作? –

+1

为什么不测试它并看看?但是,是的,这是有效的用法。 – Michael

+0

什么是“思维导图”? –

回答

0

局部变量的作用域位于从定义它的行定义的块中。

... // i not visible 
{ // Start of block 

    ... 
    // i not visible 
    int i = 0; // Definition of variable i visible from here 
    .... 

    // Last line where is possible to use the variable i 
} // End of block 
// i not visible 

在你的情况下,可能在整个for循环中使用变量i。

代码中的问题与i变量的可见性无关,但它在语法上不正确。

.mD.mX是不正确的变量名称。这是问题。可能你只需要写出mDmX