gpt4 book ai didi

java - 从数组列表中的实例获取和设置数组值

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:38 24 4
gpt4 key购买 nike

我不知道如何从数组列表中的类实例获取和设置数组值。有人知道怎么做吗?

添加玩家代码:

此代码用于学校宾果游戏项目。在此代码中,“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;
}
}



}

我只是不知道如何检查数字是否在播放器的数组中。保存选中号码的系统是我下一步要构建的东西。

最佳答案

我只想指出:

ArrayList<BingoKaart> SpelerLijst = new ArrayList<BingoKaart>();

Java 约定的变量不应该大写——只有类名,这对组织代码有很大帮助。

无论如何,为了回答您的问题,我将以第一个答案为基础。

所以,首先我想问一下,您要访问的类是否在同一个包中?如果是,您需要做的就是保持 ArrayList 实例不变,或者添加 protected (因为嘿,在我看来, protected 看起来总比没有好,并且做同样的事情并允许子类访问)。否则,如果它们在不同的包中,则将其标记为 public,以便所有类都可以访问它(实际上,无论如何您都可以将其标记为 public,因为它没有什么区别,从长远来看这是一个优势).

下一步:实例化类

BingoPaneel <var name> = new BingoPaneel();

实例化后,你就可以做

bp.SpelerLijst.add(<Something from BingoKaart>);

访问 ArrayList。

或者,如果您不想实例化(坏主意),您可以将其设为静态,然后执行

BingoPaneel.SpelerLijst.add(<Something from BingoKaart>);

关于java - 从数组列表中的实例获取和设置数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32618399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com