Estou criando um app, uma das telas tem 25 botões, cada botão precisa receber um valor aleatorio do array porem, eles não podem se repetir, e eu não consigo fazer isso, sou noob e estou começando a aprender java, já procurei aqui e achei códigos parecidos mas não achei o que queria, eu preciso comparar os botões pra não se repetirem.
o que eu estou fazendo é um tipo e jogo que gera 25 botões aleatorios com as letras do array e depois que gerou as letras nos botões, tem outro valor em cima que pega as 25 posições escolhidas e gera outro aleatorio nessa imagem perguntando pro user qual botão é igual a ela, ao clicar no botão correto a imagem muda e assim por diante até acertar todas.
https://i.imgur.com/NSB7iyT.png
aqui está o código “completo” que eu estou batendo cabeça pra fazer até agora.
package com.example.kana3;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Random;
public class Kanas extends AppCompatActivity {
private Button hajimeruBotao;
private Button
b1,b2,b3,b4,b5,
b6,b7,b8,b9,b10,
b11,b12,b13,b14,b15,
b16,b17,b18,b19,b20,
b21,b22,b23,b24,b25;
private String[] hiraArray = {"あ","い","う","え","お"};
//,"か","き","く","け","こ"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kanas);
b1 = findViewById(R.id.botao1);
b2 = findViewById(R.id.botao2);
b3 = findViewById(R.id.botao3);
b4 = findViewById(R.id.botao4);
b5 = findViewById(R.id.botao5);
b6 = findViewById(R.id.botao6);
b7 = findViewById(R.id.botao7);
b8 = findViewById(R.id.botao8);
b9 = findViewById(R.id.botao9);
b10 = findViewById(R.id.botao10);
b11 = findViewById(R.id.botao11);
b12 = findViewById(R.id.botao12);
b13 = findViewById(R.id.botao13);
b14 = findViewById(R.id.botao14);
b15 = findViewById(R.id.botao15);
b16 = findViewById(R.id.botao16);
b17 = findViewById(R.id.botao17);
b18 = findViewById(R.id.botao18);
b19 = findViewById(R.id.botao19);
b20 = findViewById(R.id.botao20);
b21 = findViewById(R.id.botao21);
b22 = findViewById(R.id.botao22);
b23 = findViewById(R.id.botao23);
b24 = findViewById(R.id.botao24);
b25 = findViewById(R.id.botao25);
hajimeruBotao = findViewById(R.id.hajimeruBotao);
hajimeruBotao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
b1.setText(hiraArray[random()]);
b2.setText(hiraArray[random()]);
b3.setText(hiraArray[random()]);
b4.setText(hiraArray[random()]);
b5.setText(hiraArray[random()]);
int rand1 = random();
int rand2 = random();
int rand3 = random();
int rand4 = random();
int rand5 = random();
b1.setText(hiraArray[rand1]);
if (rand2 == rand1)
{
b2.setText(hiraArray[random()]);
}
if (rand3 == rand2) {
b3.setText(hiraArray[random()]);
}
if (rand4 == rand3);{
b4.setText(hiraArray[random()]);
}
if (rand5 == rand4) {
b5.setText(hiraArray[random()]);
}
}
});
}
public int random(){
int random = new Random().nextInt(hiraArray.length);
return random;
}
}