Archief - JAVA probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

jarich3

Legacy Member
ik zou een matrix van 4*4 moeten genereren met ieder element zijnde een random letter.
En ik heb heb gevonden hoe ik een random letter genereer:

public static void main(String[] args) {
final String alphabet = "abcdefghijklmnopqrstuvwxyz";
final int N = alphabet.length();

Random r = new Random();

for (int i = 0; i < 16; i++) {
System.out.print(alphabet.charAt(r.nextInt(N)));
}
}

en een matrix maken kan ik ook via dit:
public static void main(String[] args)
{

String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // Minus Z

char[][] matrix = new char[4][4];

for (int i = 0; i < 4; ++i)
{
alphabet.getChars(i*4, (i*4)+4, matrix, 0);
}

for(int i = 0; i <= 3; i++)

//wat ervoor zorgt dat het resultaat wordt weergegeven
{
System.out.print("");
for(int j = 0; j <= 3; j++)
{
System.out.print(" " + matrix[j]);
}
System.out.println("");
}
System.out.println();
}

maar hoe zorg ik nu dat die 2 bij elkaar komen? Ik ben echt een beginner...

woooter

Legacy Member
Waar je nu

Code:
for (int i = 0; i < 4; ++i) 
{ 
alphabet.getChars(i*4, (i*4)+4, matrix[i], 0); 
}

hebt staan overloop je matrix en steek je telkens een random letter:
Code:
for (int i = 0; i < 4; i++) {
  for (int j = 0; j < 4; j++) {
    matrix[i][j] = alphabet.charAt(r.nextInt(N))
  }
}

Je kan wel beter het gedeelte om een random letter te genereren in een aparte functie steken voor de overzichtelijkheid

jarich3

Legacy Member
woooter zei:
Waar je nu

Code:
for (int i = 0; i < 4; ++i) 
{ 
alphabet.getChars(i*4, (i*4)+4, matrix[i], 0); 
}

hebt staan overloop je matrix en steek je telkens een random letter:
Code:
for (int i = 0; i < 4; i++) {
  for (int j = 0; j < 4; j++) {
    matrix[i][j] = alphabet.charAt(r.nextInt(N))
  }
}

Je kan wel beter het gedeelte om een random letter te genereren in een aparte functie steken voor de overzichtelijkheid

Dus mijn bovenste deeltje moet vervangen worden door wat jij zegt?

Dank u 100000x, het werkt wel degelijk :D
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan