【问题标题】:How to set 2 integer values to be the same如何将2个整数值设置为相同
【发布时间】:2014-01-14 16:26:42
【问题描述】:

我正在使用一个随机变量,2 个字符串数组,我试图将 2 个字符串数组设置为具有相同的位置值,我尝试了所有可能的方法,但它们都不起作用。我是编程新手,并不完全了解 Java,只是了解了一下。我只是想知道是否可以将不同数组的整数值设置为相同。

我的代码是:

    Random r1 = new Random(), r2 = new Random();
    TextView txtDid, txtPhrase, txtFood, txtJokeQ, txtJokeA;
    ImageView imageDonate;
    int x, p, f, jq, ja;
    Button btnJokeNext;

    String[] JokeQArray = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
            "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W",
            "X", "Y", "Z" };

    String[] JokeAArray = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
            "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W",
            "X", "Y", "Z" };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.home_tab);

        txtJokeQ = (TextView) findViewById(R.id.txtJokeTextQ);
        txtJokeA = (TextView) findViewById(R.id.txtJokeTextA);

        jq = r1.nextInt(JokeQArray.length);
        r2.nextInt(JokeAArray.length);
        txtJokeQ.setText(JokeQArray[jq].toString());
        txtJokeA.setText(JokeAArray[jq].toString());

        btnJokeNext = (Button) findViewById(R.id.btnJokeNext);
        btnJokeNext.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                jq = r1.nextInt(JokeQArray.length);
                r2.nextInt(JokeAArray.length);
                txtJokeQ.setText(JokeQArray[jq].toString());
                txtJokeA.setText(JokeAArray[jq].toString());
                // TODO Auto-generated method stub
            }
        });
        Thread t = new Thread() {
            @Override
            public void run() {
                try {
                    while (!isInterrupted()) {
                        Thread.sleep(60000);
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                updateJokeTextView();
                            }
                        });
                    }
                } catch (InterruptedException e) {
                }
            }
        };
        t.start();
    }
    private void updateJokeTextView() {
        jq = r1.nextInt(JokeQArray.length);
        txtJokeQ.setText(JokeQArray[jq].toString());
        ja = r1.nextInt(JokeAArray.length);
        txtJokeA.setText(JokeAArray[ja].toString());
    }
}

当我试图尝试不同的方法来做我想做的事情时,我几乎搞砸了代码。希望代码对您有意义,在此先感谢。

【问题讨论】:

  • 你的“不同”数组有点太相似了。
  • 数组的整数值”是什么意思?你能举个例子吗?

标签: java android eclipse integer arrays


【解决方案1】:

根据我的反馈,我知道以下内容不能回答您的问题,并且观察时间太长,无法在评论部分进行描述。非常抱歉。

无法了解您的问题到底是什么。 但是在浏览了你的代码之后,我有以下保留:

  1. 前两个调用 r2.nextInt(JokeAArray.length); onCreate() 和 onClick() 分别没有用,因为您没有使用生成的随机数。
  2. 在 updateJokeTextView() 中,您调用 jq = r1.nextInt() 和 ja = r1.nextInt() 都会生成两个不同的随机数,这又是没有用的,因为您的问题和答案永远不会匹配.
  3. 在 updateJokeTextView() 中,而不是 txtJokeA.setText(JokeAArray[ja].toString());使用 txtJokeA.setText(JokeAArray[jq].toString());

希望这能解决您的问题。如果没有,请说明您对代码的确切要求。

【讨论】:

  • 记住我已经在上面的代码中为 jq 设置了一个值,它会显示问题的字符串,而不是答案
【解决方案2】:

由于两个数组在同一位置具有相同的值;您可以使用 txtJokeQ.setText(JokeQArray[jq].toString()); txtJokeA.setText(JokeQArray[jq].toString());

【讨论】:

  • 那行不通,因为我只会在 2 个文本视图中显示问题数组,但我需要在答案文本视图中看到不同的文本
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多