首页 > 解决方案 > Java - 在 if-else 中不更改 int

问题描述

我的值(int 或 float)在 if-else 中没有变化。当我取值时,它说默认。

float iwantchangethis = 0;

  if (vararaba == true | varkamyon == true) {
    canvas.drawLine(besyuzatmis, yediyuzyirmi, yan, ust, paint);
    if (trackedPos.centerX() > 360) {
      float iwantchangethis = (yan - 360) / 4;      //doesn't change
    } else if (trackedPos.centerX() < 360){
      float iwantchangethis = (360 - yan) / 4;      //doesn't change
    } else {
      float iwantchangethis = 0;
    }

标签: javaandroidandroid-studio

解决方案


这是因为变量的可见性是{}并且您每次都创建具有相同名称的单独变量。

float iwantchangethis = 0;

  if (vararaba == true | varkamyon == true) {
    canvas.drawLine(besyuzatmis, yediyuzyirmi, yan, ust, paint);
    if (trackedPos.centerX() > 360) {
      /*float*/ iwantchangethis = (yan - 360) / 4;      //doesn't change
    } else if (trackedPos.centerX() < 360){
      /*float*/ iwantchangethis = (360 - yan) / 4;      //doesn't change
    } else {
      /*float*/ iwantchangethis = 0;
    }

推荐阅读