【问题标题】:Change the value of an integer in java在java中更改整数的值
【发布时间】:2012-09-20 16:20:04
【问题描述】:

我开始使用 java 编程,我想制作一些游戏和其他需要更改变量的东西,尤其是整数。举个例子吧。

    int Score = 0;

    if(coinCollected = 1){
        int Score = 1
    }

当然,这将返回“int Score has been defined”或其他什么,但我不想让它这么说,因为我想重新定义变量。我在 if 语句之前尝试过@Override,但也没有用。有谁知道该怎么做?

【问题讨论】:

  • 如果您的意图是更改已在 IF 块上方定义的Score 的值,那么只需将1 分配给Score 作为Score = 1
  • coinCollected = 1 是一个错误。为了比较,您想使用 == 而不是 =

标签: java count int redefine


【解决方案1】:

我觉得你想更新值,如果是,你不需要重新定义。

int Score = 0;

if(coinCollected == 1){
    // change the value
    Score = 1;
}

【讨论】:

  • 在使用 Java 编程时,您应该记住的另一件事是使用以小写字母开头的变量名。在您的示例中,您应该有int score
【解决方案2】:

你不想重新定义这个变量。您想为其分配一个新值。

所以只需从第二个匹配项中删除“int”,它看起来就像score = 1

顺便说一下,Java 风格约定状态变量名称以小写开头。

【讨论】:

    【解决方案3】:

    因此您不必再次定义 Score.. 你的代码应该是这样的 int 分数 = 0;

    if(coinCollected == 1){
        Score = 1
    }
    

    【讨论】:

      【解决方案4】:
      if(coinCollected = 1)
      

      在上面的语句中,您将值 1 分配给名为 coinCollected 的变量,但这不是您想要做的,您想将值 1 与名为 coinCollected 的变量的值进行比较。

      例如:

      if(coinCollected == 1)

      现在在下面的代码中,您重新声明了变量 Score。

      {
      
          int Score = 1
      }
      

      更正的代码:

      int Score = 0;
      
      if(coinCollected == 1){
           Score = 1
      }
      

      【讨论】:

        【解决方案5】:

        使用不同的范围,或重新使用现有的score,或者最好使用不同的名称。

        {
            int score = 0;
        
        } // scope of Score has ended.
        
        if(coinCollected == 1) {
            int score = 1;
        
        }
        

        【讨论】:

        • 当然,这是假设他实际上想要一个单独的变量,而不是更改存储在现有变量中的值。我不认为这是可能的。
        • 这并没有改变变量的值,它只是声明了另一个变量。
        • OP 确实说过他想重新定义变量。
        • OP 听起来很像他实际上并没有完全理解这意味着什么。这并不丢人,他也不会是第一个滥用编程术语的初学者。找出并纠正它是我们的工作:)
        • @Peter 不,很明显他想改变它的价值。它在记录一个score,他到底为什么要重新定义它?
        猜你喜欢
        • 2016-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多