我在共享的prefrences中存储了8个数字我试图找出如何重新签名哪个是最大的并在textview中显示?
编辑:
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号我正在尝试其他符号而eclipse则说没有
答案 0 :(得分: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);
答案 1 :(得分:1)
如果我自己可以这样说,那就太优雅了:P
int maxnumber = 0;
for (int i = 1; i >= 8; i++) {
maxnumber = Math.max(peepsScores.getInt("userScore" + i, 0), maxnumber);
}
现在maxnumber
将等于最高数字。
答案 2 :(得分:-1)
对不起,我正在思考它:
if(userScore1 > userScore2 + userScore3 + userScore4 + userScore5 + userScore6 + userScore7 + userScore8) {
dPresident.setText("" + userScore1);