Code: Selecteer alles
import java.util.*;
import javax.swing.*;
public class Rooster {
static String namen[];
static String rooster[][];
public static void main(String args[]) {
JTextArea outputArea = new JTextArea();
grootte();
outputArea.setText("Rooster:\n\n");
outputArea.append(output(rooster));
JOptionPane.showMessageDialog(null,outputArea);
}
public static void grootte() {
int aantNamen, rij, kolom;
aantNamen = Integer.parseInt(JOptionPane.showInputDialog("Geef het aantal namen in: "));
rij = Integer.parseInt(JOptionPane.showInputDialog("Geef aantal rijen in voor de rooster: "));
kolom = Integer.parseInt(JOptionPane.showInputDialog("Geef aantal kolommen in voor de rooster: "));
namen = new String [aantNamen];
rooster = new String [rij][kolom];
invoerNamen();
}
public static void invoerNamen() {
for(int i = 0; i < namen.length; i++) {
namen[i] = JOptionPane.showInputDialog("Geef naam " + (i+1) + " in: ");
}
invoerRooster();
}
public static void invoerRooster() {
for(int i = 0; i < rooster.length; i++) {
for(int j = 0; j < rooster[i].length; j++) {
Random getal1 = new Random();
rooster[i][j] = namen[0 + getal1.nextInt(namen.length)] + " en " + namen[0 + getal1.nextInt(namen.length)];
}
}
}
public static String output(String array[][]) {
String output = "";
for(int i = 0; i < rooster.length; i++) {
for(int j = 0; j < rooster[i].length; j++) {
output = output + String.format("%s\t\t", array[i][j]);
}
output = output + "\n";
}
return output;
}
}
Het programma moet met die gegevens een rooster maken (array) waarin per cel telkens twee namen moeten verschijnen. Dit werkt maar de bedoeling is eigenlijk dat er geen twee dezelfde namen bij elkaar mogen staan in de hele array en dat dezelfde naam ook geen twee keer mag verschijnen in een rij.
Ik heb al wat geprobeerd maar ik geraak er niet aan uit.
Alvast bedankt voor de (hopelijk) komende hulp.