【发布时间】:2015-12-13 14:50:43
【问题描述】:
我不知道如何从数组列表中的类的实例获取和设置数组值。有人知道怎么做吗?
添加玩家代码:
此代码用于学校宾果游戏项目。在此代码中,“SpelerLijst”是一个宾果游戏玩家列表。它是介于 1 到 5 之间的随机玩家数量。
import java.util.ArrayList;
import java.util.Random;
public class BingoPaneel {
public BingoPaneel(){
Random rand = new Random();
ArrayList<BingoKaart> SpelerLijst = new ArrayList<BingoKaart>();
//Aanmaken van spelers
int spelers = rand.nextInt((5-2 +1)+2);
while (spelers == 0){
spelers = rand.nextInt((5-2 +1)+2);
}
System.out.println(spelers + " Spelers");
for(int i = 0; i < spelers; i++){
SpelerLijst.add(new BingoKaart());
}
}
}
播放器代码: 此代码为玩家提供了一张名为“Kaart”(数组)的卡片,其中包含 25 个随机整数。
import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
public class BingoKaart {
Random random = new Random();
public BingoKaart(){
int[][] kaart = new int[5][5];
System.out.println("Spelerkaart: ");
kaart= GetNumer(kaart);
}
private int[][] GetNumer(int[][] kaart) {
for(int i= 0; i < 5 ; i++){
int[] getallen = new int[15];
for(int k= 0; k < 15; k++){
getallen[k] = k + (i*15);
}
shuffleArray(getallen);
for(int j = 0; j < 5; j++){
kaart[i][j] = getallen[j];
}
}
//KAART PRINTEN
for(int i = 0; i < 5; i++){
for(int j = 0; j < 5; j++){
System.out.print(kaart[i][j]+ " ");
}
System.out.println();
}
System.out.println();
return kaart;
}
static void shuffleArray(int[] ar)
{
Random rnd = new Random();
for (int i = ar.length - 1; i > 0; i--)
{
int index = rnd.nextInt(i + 1);
int a = ar[index];
ar[index] = ar[i];
ar[i] = a;
}
}
}
主码: 此代码通过随机整数运行并检查其中一个玩家是否在其数组中具有该数字。
import java.util.Random;
public class BingoMaster {
public BingoMaster(){
//Vars
int[] getrokkenGetallen = new int[75];
boolean bingo = false;
//Vullen en randomizen trekbare getallen
VulGetrokkenGetallen(getrokkenGetallen);
System.out.println("Het spel Start!");
while(!bingo){
TrekGetal(getrokkenGetallen);
}
}
private int[] VulGetrokkenGetallen(int[] getrokkenGetallen) {
for(int i = 0; i < 75; i++){
getrokkenGetallen[i] = i;
}
shuffleArray(getrokkenGetallen);
return getrokkenGetallen;
}
private void TrekGetal(int[] getrokkenGetallen) {
for(int i = 0; i < 75; i++){
int getal = getrokkenGetallen[i];
}
}
static void shuffleArray(int[] ar)
{
Random rnd = new Random();
for (int i = ar.length - 1; i > 0; i--)
{
int index = rnd.nextInt(i + 1);
int a = ar[index];
ar[index] = ar[i];
ar[i] = a;
}
}
}
我只是不知道如何检查数字是否在玩家的数组中。保存检查号码的系统是我下一步将构建的东西。
【问题讨论】:
-
这不能回答您的问题,但我注意到您在
BingoMaster和BingoKaart中都有shuffleArray(int[] ar)。你应该把它放在一个地方(其中一个类,或者一个实用类,如果它有意义的话)。
标签: java arrays class arraylist