我无法弄清楚的基本java任务

时间:2015-02-09 10:47:22

标签: java android if-statement

我无法弄清楚如何创建一个高分函数。我知道我必须有2个值并将它们与if语句进行比较并将它们保存在SharedPreferences中。我理解的共享偏好。我不明白的是如何比较这两个值?

在我的程序中,我有一个名为score的int。每次我正确回答问题时,它会像得分++一样增加,最后会显示已回答的问题编号。让我们说我再玩,现在得到一个更大的数字。如果他们的名字得分相同,如何比较?我是否需要将分数分配给一些新变量?怎么样?我现在感到愚蠢和羞愧..

CODE: 我的分数存储在这里:

public static int scores = 0;

这是我每次都添加+1的方式:

   if (type.get(count[0])) {    
scores++; // Add +1 to the score; ...

我在这里保存我的分数:

  protected void score() {
        super.onDestroy();
        SharedPreferences prefs = getSharedPreferences("level1", Context.MODE_PRIVATE);
        SharedPreferences.Editor prefsEditor = prefs.edit();
         if(scores > highscore) {

        highscore = scores;


        prefsEditor.clear();
        prefsEditor.putInt("score", scores);
        prefsEditor.commit();
    }

并在以下活动中展示:

SharedPreferences prefs = getSharedPreferences("level1", Context.MODE_PRIVATE);

            int userScore = prefs.getInt("score", 0);

        mResult.setText("" + userScore);

2 个答案:

答案 0 :(得分:2)

每次获得高分时,只需将分数保存在SharedPreferences,然后在启动应用时显示该分数:

// when starting the app
public static int userScore = 0;
SharedPreferences prefs = getSharedPreferences("level1", Context.MODE_PRIVATE); 
userScore = prefs.getInt("score", 0);
mResult.setText("" + userScore);

public static int scores = 0;
   if (type.get(count[0])) {    
       scores++; 
    }
   if(scores > userScore)
   {
        SharedPreferences.Editor prefsEditor = prefs.edit();
        prefsEditor.putInt("score", scores);
        prefsEditor.commit();
   }

答案 1 :(得分:0)

进行简单的检查(如果您只是寻找最高分,而不是其他分数)。做一个IF声明。

我不知道你所谓的高分,但是像:

if (score > highscore){

highscore = score;

}

应该很简单,不是吗?然后将其保存在配置中并每次都弹出...