【问题标题】:Getting syntax error involving ';'出现涉及“;”的语法错误
【发布时间】:2012-06-16 12:10:12
【问题描述】:

我正在制作一个口袋妖怪游戏,这部分给了我 3 个错误: “无效的表达式术语';' (CS1525)”和“;预期(CS1002)”

public class HeldItem
{
    public static int CritCalc(bool item,bool skill, bool UsedItem,int dmg)
    {
        Random rand=new Random();
        Action jump=new Action();
        int i = rand()%100;
        double CritPerc = 6.25;
        if(item==true)
            CritPerc=12.5;
        else if(skill==true)
            CritPerc=12.5;
        else if(UsedItem==true)
            CritPerc=12.5;
        else if((item==true & skill== true) || (item==true & UsedItem == true) || (skill==true & UsedItem==true))
                CritPerc=25%;
        else if(item==true & skill == true & UsedItem==true)
            CritPerc=33.3%;
        if(Action) //jump
            CritPerc = 50%;
        if(i<CritPerc)
            dmg=2*dmg;
        else if(i>CritPerc)
            dmg==dmg;
        return dmg; 
    }
}

}

也许这是一个愚蠢的问题,但我不知道它是什么

【问题讨论】:

  • 您可能打算使用&amp;&amp;(逻辑)而不是&amp;(按位)。
  • 看一眼,CritPerc = 25% 是没有意义的。它应该是 0.25 或“25%”。代码中的另外两个地方也是如此。编辑:由于 CritPerc 是双倍的,根据您的约定,它应该是 25.0。
  • @Pubby - & 运算符对整数操作数执行按位逻辑与运算,对布尔操作数执行逻辑与运算。 - msdn.microsoft.com/en-us/library/e669ax02
  • 这没有任何作用:else if(i&gt;CritPerc) dmg==dmg;
  • @AVD 我知道,但很多人会认为&amp;&amp; 更清晰。无论如何,他也可以删除== true

标签: c#


【解决方案1】:

您不能在 C# 中指定百分比。

你有以下几行:

CritPerc=25%;
CritPerc=33.3%;
CritPerc = 50%;

这是无效的(百分比表示 C# 中的模运算符)。

相反,您可能希望将值指定为双浮点值。

CritPerc=0.25;
CritPerc=0.333;
CritPerc = 0.50;

【讨论】:

  • 讽刺的是,i 是使用模数运算符获得的。
【解决方案2】:

%(percent) c# 中的运算符表示模运算,需要两个 操作数。但你给一个。所以它给出了错误。

而不是

CritPerc=25%;

CritPerc=.25;

CritPerc=25/100;

dmg==dmg

导致错误。

【讨论】:

    【解决方案3】:

    上面写着:

    dmg == dmg;
    

    啊,致命的“=”错误。

    【讨论】:

      【解决方案4】:

      你有 dmg ==dmg 这是错误的操作符,如果 dmg 已经有正确的值就返回它,dmg=dmg 不用说

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-13
        • 2016-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多