所以我试图在android中创建一个简单的循环,但我的varialbe无法识别?这是问题代码 包com.whatwouldayogido.iching3.app;
import java.util.Random;
public class rollHex {
TrigramClass a = new TrigramClass();
HexagramClass hex = new HexagramClass();
String [] mHex = new String [2];
String [] mChangingHex= new String [2];
Random randC = new Random();
int[] toss = new int [3];
int changingTri = 0;
int mTriCount = 0;
while( mTriCount <= 1 ) {
for (int i = 0; i <toss.length; i++){
toss[i] = randC.nextInt(4)+6;
}
mHex[mTriCount]=(a.evaluateTrigram(toss));
mChangingHex[mTriCount] = (a.evaluateTrigram(toss));
if (a.checkChangingLines()){
a.changingLines(toss);
a.evaluateTrigram(toss);
changingTri++;
mChangingHex[mTriCount] = a.evaluateTrigram(toss);
}
mTriCount++;
}
if ( changingTri > 0) {
//do stuff
}
}
我得到的错误是:
Unknown Class mTriCount
我的问题是,我在这里做错了吗?这个程序在java中执行得很好,这是我第一次遇到这样的错误。循环似乎很好。我错过了什么?
答案 0 :(得分:0)
您需要在方法内部进行循环。 Android不会让您逃避当前的语法。你需要它看起来更像:
public void foo() {
while( mTriCount <= 1 ) {
for (int i = 0; i <toss.length; i++){
toss[i] = randC.nextInt(4)+6;
}
mHex[mTriCount]=(a.evaluateTrigram(toss));
mChangingHex[mTriCount] = (a.evaluateTrigram(toss));
if (a.checkChangingLines()){
a.changingLines(toss);
a.evaluateTrigram(toss);
changingTri++;
mChangingHex[mTriCount] = a.evaluateTrigram(toss);
}
mTriCount++;
}
if ( changingTri > 0) {
//do stuff
}
}
此外,作为一种良好做法,您可能希望为类变量添加访问修饰符。
这至少应该允许你的程序编译。