我是java的初学者,我试图使用我创建的数组 但它不会再认识它。 有谁知道我在这里失踪的东西是什么?
更具体地说,命令bookArray.length
正在发出此错误。
Library(int maxBookCapacity){
Book bookArray[]= new Book[libraryMaxBookCapacity];
}
boolean inLibrary(Book book){
for(int i=0; i<bookArray.length; i++ ){
if (book==bookArray[i]){
return true;
}
}
return false;
}
答案 0 :(得分:1)
ChainShape chain = new ChainShape();
createChain().Vec2[] vertices = new Vec2[2];
vertices[0] = box2d.coordPixelsToWorld(0,150);
vertices[1] = box2d.coordPixelsToWorld(width,150);
chain.createChain(vertices, vertices.length);
FixtureDef fd = new FixtureDef();
fd.shape = chain;
fd.density = 1;
fd.friction = 0.3;
fd.restitution = 0.5;
body.createFixture(fd);
是一个局部变量,spocannot不能在定义方法之外访问。实际上 local 意味着:名称bookArray
仅在构造函数中可用。
如果你需要bookArray
,你应该声明是封闭类中的一个字段:
inLibrary
顺便提一下,考虑一下您是否确实需要将书籍对象与public class Library {
private final Book[] bookArray;
public Library(int maxBookCapacity){
bookArray = new Book[libraryMaxBookCapacity];
}
public boolean inLibrary(Book book){
for(int i = 0; i < bookArray.length; i++ ){
if (book == bookArray[i]){
return true;
}
}
return false;
}
}
运算符进行比较。
答案 1 :(得分:0)
{{1}}