-3

共有設定に8つの数字が保存されていますが、どれが最大であるかを認識してテキストビューに表示する方法を見つけようとしていますか?

編集:

private void showKing(){
    SharedPreferences peepsScores = PreferenceManager.getDefaultSharedPreferences(this);
    int userScore1 = peepsScores.getInt("userScore1",222);
    int userScore2 = peepsScores.getInt("userScore2",222);
    int userScore3 = peepsScores.getInt("userScore3",222);
    int userScore4 = peepsScores.getInt("userScore4",222);
    int userScore5 = peepsScores.getInt("userScore5",222);
    int userScore6 = peepsScores.getInt("userScore6",222);
    int userScore7 = peepsScores.getInt("userScore7",222);
    int userScore8 = peepsScores.getInt("userScore8",222);


    String pDName1 =  pName1.getText().toString();
    String pDName2 =  pName2.getText().toString();
    String pDName3 =  pName3.getText().toString();
    String pDName4 =  pName4.getText().toString();
    String pDName5 =  pName5.getText().toString();
    String pDName6 =  pName6.getText().toString();
    String pDName7 =  pName7.getText().toString();
    String pDName8 =  pName8.getText().toString();

    if(userScore1>userScore2+userScore3+userScore4+userScore5+userScore6+userScore7+userScore8){
        dPresident.setText(pDName1);
    }
        else{

    if(userScore2>userScore1+userScore3+userScore4+userScore5+userScore6+userScore7+userScore8){
        dPresident.setText(pDName2);
    }
        else{

    if(userScore3>userScore2+userScore1+userScore4+userScore5+userScore6+userScore7+userScore8){
        dPresident.setText(pDName3);
    }
        else{

    if(userScore4>userScore2+userScore3+userScore1+userScore5+userScore6+userScore7+userScore8){
        dPresident.setText(pDName4);
    }
        else{

    if(userScore5>userScore2+userScore3+userScore4+userScore1+userScore6+userScore7+userScore8){
        dPresident.setText(pDName5);
    }
        else{

    if(userScore6>userScore2+userScore3+userScore4+userScore5+userScore1+userScore7+userScore8){
        dPresident.setText(pDName6);
    }
        else{

    if(userScore7>userScore2+userScore3+userScore4+userScore5+userScore6+userScore1+userScore8){
        dPresident.setText(pDName7);
    }
        else{

    if(userScore8>userScore2++userScore3&userScore4&&userScore5+userScore6+userScore7+userScore1){
        dPresident.setText(pDName8);

    }
    }}}}}}}
}

8番で私は他のシンボルを試していましたが、日食はノーと言います

4

3 に答える 3

3

次のようなことができます。

//Obtain highest Score (Select maximum value)
int highestScore = Math.max(userScore1 ,  
   Math.max(userScore2 ,  
      Math.max(userScore3 ,  
           Math.max(userScore4 , 
               Math.max(userScore5 ,  
                 Math.max(userScore6 , 
                     Math.max(userScore7 , userScore8)))))));

// set text
dPresident.setText("" + highestScore);
于 2012-12-30T00:19:38.683 に答える
1

私がそう言うなら、信じられないほどエレガントです:P

int maxnumber = 0;

for (int i = 1; i >= 8; i++) {
            maxnumber = Math.max(peepsScores.getInt("userScore" + i, 0), maxnumber);
        }

maxnumberこれで最大数に等しくなります。

于 2012-12-30T00:34:12.177 に答える
-1

すみません、私はそれを考えすぎていました:

if(userScore1 > userScore2 + userScore3 + userScore4 + userScore5 + userScore6 + userScore7 + userScore8) {
    dPresident.setText("" + userScore1);
于 2012-12-29T07:28:06.460 に答える