比较变量

时间:2012-06-28 12:12:35

标签: android

我正在写一个游戏,我将玩家的最高分存储为SharedPrefrence。我正在使用这种方法,以便当用户退出应用程序时,他的最高分保持不变。在此之前,我已将所有内容编码完毕。我现在想要实现一种方法,当玩家再次玩游戏时显示新的最高分。这背后的逻辑是,如果第一个最高分大于零,则显示第一个最高分。然后,当再次播放游戏时,如果第二个最高分大于第一个最高分,则显示第二个最高分,否则显示第一个最高分。在我看来,我认为一个简单的If / else语句就足够了,但是在声明第一个变量时我的问题就出现了。我写了下面的代码,但似乎没有用。它只显示新的分数 - 即使它的值低于我不想要的第一个分数。任何帮助将非常感激。代码:

TextView textSavedWeek2ms2_1 = (TextView)findViewById(R.id.ts02);
SharedPreferences sharedPreferences = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
String strSavedWeek2ms2_1 = sharedPreferences.getString("top_score", "");
String topscore = strSavedWeek2ms2_1;
int topscore1 = Integer.valueOf( topscore);  

if (topscore1 > 0 )                 
    { 
        textSavedWeek2ms2_1.setText(topscore);
    }
    else 
        textSavedWeek2ms2_1.setText("0");
    }

2 个答案:

答案 0 :(得分:0)

这可能是无意的:

if (topscore2 > topscore2){

答案 1 :(得分:0)

我认为你打错了......

if (topscore2 > topscore2)                 
{ 
    textSavedWeek2ms2_1.setText(topscore);
}

所以应该是

if (topscore2 > topscore1)                 
    { 
        textSavedWeek2ms2_1.setText(topscore);
    }