首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用java比较两个值

使用java比较两个值
EN

Stack Overflow用户
提问于 2018-09-05 02:23:18
回答 2查看 62关注 0票数 -6

我想要比较分数A和分数B的分数,然后我想通过比较这两个分数的值来显示字符串“团队A是赢家”,同时请告诉我这个应用的布局如何,因为我是安卓编程的新手,这是我使用的第一个应用on.< 1:https://i.stack.imgur.com/qZxwV.png >

代码语言:javascript
复制
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);

    }
}
EN

回答 2

Stack Overflow用户

发布于 2018-09-05 03:17:57

您的方法WinnerScore就快完成了,您只是错过了对显示的更新。创建另一个TextView来显示此消息,并使用该消息简单地更新内容。请注意,大写第一个字母通常是为类名保留的,因此您可能希望养成方法名称的首字母小写的习惯。

顺便说一下,如果你把r = new Random()放在OnCreate中,它只会被调用一次。将其作为onClick方法中的第一行。这样,如果你点击滚动按钮,随机化将一直发生。您还需要在onClick方法内部和结尾处移动或复制displayFor方法,以便分数显示相应地更新。

票数 0
EN

Stack Overflow用户

发布于 2018-09-08 15:13:39

代码语言:javascript
复制
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);
        }

    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52172050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档