2014-01-22 75 views
1

我一直收到错误运算符!=未定义为参数类型(s)布尔值,int 在我的代码上,我不知道如何解决它。 错误出现在月食内以及发射运算符!=未定义为参数类型(s)布尔值,int

一些帮助将不胜感激:)谢谢!

private boolean[] ctexture = new boolean[16]; 

    public boolean[] flipTopBottom = new boolean[16]; 

     this.ctexture[id] = connectedTexture; 

    @SideOnly(Side.CLIENT) 
    public Icon getIcon(int par1, int par2) 
    { 
    if ((par1 <= 1) && (this.flipTopBottom[(par2 & 0xF)] != 0) //The error occurs here// && ((this.icons[(par2 & 0xF)] instanceof IconConnectedTexture))) { 
     return new IconConnectedTextureFlipped((IconConnectedTexture)this.icons[(par2 & 0xF)]); 
    } 
    return this.icons[(par2 & 0xF)]; 
    } 


    @SideOnly(Side.CLIENT) 
    public void registerIcons(IconRegister par1IconRegister) 
    { 
    for (int i = 0; i < 16; i++) { 
     if ((this.texture[i] != null) && (this.texture[i] != "")) { 
     if (this.ctexture[i] != 0) { //It also occurs here 
      this.icons[i] = new IconConnectedTexture(par1IconRegister, this.texture[i]); 
     } else { 
      this.icons[i] = par1IconRegister.registerIcon(this.texture[i]); 
     } 
     } 
+2

列表的代码只是一部分。这 – sanbhat

+0

也请注明发生在错误哪一行(并列出你的代码的特定部分) – s1lence

+0

待办事项你知道什么是布尔值,什么是int,什么!= – immibis

回答

12

您有:

private boolean[] ctexture = new boolean[16]; 

然后你做:

if(this.ctexture[i] != 0) 
     ↑    ↑ 
    boolean   int 

在Java中,你不能这样做,0是intthis.ctexture[i]boolean

你或许应该这样做:

if(this.ctexture[i]) //if true 

你必须在其他地方无效比较过,请解决这些问题,以及

+0

好吧,但是如果我将它设置为true,图标显示,但纹理不连接(这是想法,纹理连接) – user3219869

+0

这样的错误是否会导致代码去混淆?因为我从另一个项目中使用此代码来学习更复杂的方法,并且使用原始代码在游戏中不产生错误,只有在eclipse中查看 – user3219869

+0

@ user3219869代码是否包含线造成的错误? – Maroun

0

在某些语言中,布尔类型密切相关,INT,所以比较布尔值为0是有道理的。在Java中,它们是完全不同的类型。布尔值只能与其他布尔表达式进行比较。

要测试布尔值为false,请使用!this.ctexture[i]。对于true,只需使用布尔值即可。

0

flipToBottom是一个布尔值数组,但您尝试将一个条目(布尔值)与一个整数进行比较。

if ((par1 <= 1) && (this.flipTopBottom[(par2 & 0xF)] != 0) 

喜欢的东西

if ((par1 <= 1) && !this.flipTopBottom[(par2 & 0xF)]) 

可能是你所追求的。 (一般惯例是不说if (variable == true)if (variable == false)。使用if(variable)if (!variable)代替。

相关问题