试图为两个字符串列表获取一个随机数

时间:2017-12-01 13:27:14

标签: java android

我正在尝试开发一款帮助孩子学习法语的应用程序,但我很难获得两次随机数,因此如果用户按下第二个按钮,他就会得到德语答案。

package com.example.calebseeling.french;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class FrenchActivity extends AppCompatActivity {
    private Button Next;
    private TextView German;
    private TextView French;
    private Button Answer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_french);

        Answer = (Button) findViewById(R.id.Answer);
        German = (TextView) findViewById(R.id.German);
        French = (TextView) findViewById(R.id.French);
        Next = (Button) findViewById(R.id.NextButton);


        Next.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String getLetter = Letter.getLetter();
                German.setText(getLetter);
            }
        });
        Answer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });


        }


}

以下是字符串的以下代码:

package com.example.calebseeling.french;

import java.util.Random;

public class Letter {

    public static String[] Letters = {
        "Oui",
        "Ca va"
    };
    public static String[] LettersG = {
        "Ja",
        "Wie Gehts"
    };

    public static String getLetter() {
        Random randomgenerator = new Random();
        int Random = randomgenerator.nextInt(Letters.length);
        return Letters[Random];
    }
}

在第一个示例中,Answer侦听器为空。这是我想从德国阵列得到答案的地方。我能做什么 ?我希望他们能够对应,所以此刻我想要选择一个数字并得到相应的答案,但我无法通过活动弄清楚如何。你能救我吗?

2 个答案:

答案 0 :(得分:2)

问题不是很清楚,但这是我的尝试 -

package com.example.calebseeling.french;

import java.util.Random;

public class Letter {

    private static Random randomgenerator = new Random();
    private static int randomNumber;

    public static String[] Letters = {
        "Oui",
        "Ca va"
    };
    public static String[] LettersG = {
        "Ja",
        "Wie Gehts"
    };

    public static String getLetter() {
        randomNumber = randomgenerator.nextInt(Letters.length);
        return Letters[randomNumber];
    }

    public static String getCorrespondingGermanLetter() {
        return LettersG[randomNumber];
    }
}

我们在这里做的基本上是保存生成的随机数。 因此,如果您需要相同的德语单词,可以通过调用getCorrespondingGermanLetter来完成。

顺便说一下,words不是letters

答案 1 :(得分:1)

如何简单地从方法中返回一个数字而不是字符串:

int getRandomNumber(){...}
int a = getRandomNumber();

然后根据此数字从数组中获取项目