我想要比较分数A和分数B的分数,然后我想通过比较这两个分数的值来显示字符串“团队A是赢家”,同时请告诉我这个应用的布局如何,因为我是安卓编程的新手,这是我使用的第一个应用on.< 1:https://i.stack.imgur.com/qZxwV.png >
package android.example.scorekeeper;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.Random;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
Button b_ROLL;
ImageView red_4;
int score_A = 0;
int score_B = 0;
String winnerScore ;
Random r;
int rolledNumber;
public void addOneForTeamA(View V) {
score_A = score_A + 1;
displayForTeamA(score_A);
}
public void addTwoForTeamA(View V) {
score_A = score_A + 2;
displayForTeamA(score_A);
}
public void addThreeForTeamA(View V) {
score_A = score_A + 3;
displayForTeamA(score_A);
}
public void addFourForTeamA(View V) {
score_A = score_A + 4;
displayForTeamA(score_A);
}
public void addFiveForTeamA(View V) {
score_A = score_A + 5;
displayForTeamA(score_A);
}
public void addSixForTeamA(View V) {
score_A = score_A + 6;
displayForTeamA(score_A);
}
public void addOneForTeamB(View V) {
score_B = score_B + 1;
displayForTeamB(score_B);
}
public void addTwoForTeamB(View V) {
score_B = score_B + 2;
displayForTeamB(score_B);
}
public void addThreeForTeamB(View V) {
score_B = score_B + 3;
displayForTeamB(score_B);
}
public void addFourForTeamB(View V) {
score_B = score_B + 4;
displayForTeamB(score_B);
}
public void addFiveForTeamB(View V) {
score_B = score_B + 5;
displayForTeamB(score_B);
}
public void addSixForTeamB(View V) {
score_B = score_B + 6;
displayForTeamB(score_B);
}
public void WinnerScore(View v) {
if (score_B < score_A) {
String winner = "Team A is Winner";
System.out.println(winner);
} else {
String winner = "Team B is Winner";
System.out.println(winner);
}
}
/**
* Displays the given score for Team A.
*/
public void displayForTeamA(int score) {
TextView scoreView = (TextView) findViewById(R.id.a_score);
scoreView.setText(String.valueOf(score));
}
/**
* Displays the given score for Team B.
*/
public void displayForTeamB(int score) {
TextView scoreView = (TextView) findViewById(R.id.b_score);
scoreView.setText(String.valueOf(score));
}
/**
* Displays the winner from both teams.
*/
public void displayForwinner(String score) {
TextView scoreView = (TextView) findViewById(R.id.winner);
scoreView.setText(String.valueOf(score));
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b_ROLL = (Button) findViewById(R.id.id_roll_the_dice);
red_4 = (ImageView) findViewById(R.id.id_red_1);
r = new Random();
b_ROLL.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rolledNumber = r.nextInt(6) + 1;
if (rolledNumber == 1) {
red_4.setImageResource(R.drawable.red_1);
} else if (rolledNumber == 2) {
red_4.setImageResource(R.drawable.red_2);
} else if (rolledNumber == 3) {
red_4.setImageResource(R.drawable.red_3);
} else if (rolledNumber == 4) {
red_4.setImageResource(R.drawable.red_4);
} else if (rolledNumber == 5) {
red_4.setImageResource(R.drawable.red_5);
} else if (rolledNumber == 6) {
red_4.setImageResource(R.drawable.red_6);
}
}
});
displayForTeamA(score_A);
displayForTeamB(score_B);
displayForwinner(winnerScore);
}
}
发布于 2018-09-05 03:17:57
您的方法WinnerScore
就快完成了,您只是错过了对显示的更新。创建另一个TextView
来显示此消息,并使用该消息简单地更新内容。请注意,大写第一个字母通常是为类名保留的,因此您可能希望养成方法名称的首字母小写的习惯。
顺便说一下,如果你把r = new Random()
放在OnCreate
中,它只会被调用一次。将其作为onClick
方法中的第一行。这样,如果你点击滚动按钮,随机化将一直发生。您还需要在onClick
方法内部和结尾处移动或复制displayFor
方法,以便分数显示相应地更新。
发布于 2018-09-08 15:13:39
The answer will be
public void WinnerScore(View v) {
if (score_B > score_A) {
Winner = "Team B is Winner";
displayForResult(Winner);
} else if (score_B < score_A) {
Winner = "Team A is Winner";
displayForResult(Winner);
} else {
Winner = "DRAW MATCH";
displayForResult(Winner);
}
}
https://stackoverflow.com/questions/52172050
复制相似问题