Also mache ich einen Beschreibungsgenerator und teile eine Textdatei mit einem ":". Wenn also die Textdatei "Hund: Fisch: Katze: Vogel" enthielt, teilt mein Code sie im ":" auf und wählt zufällig eine aus. Wenn ich jedoch meine Endergebnisse drucke, ist die Ausgabe gleich. Es wird nach dem Zufallsprinzip die Wörter im Array auswählen, aber dann, wenn ich sagte, es 4 mal generieren, wäre es dasselbe 4 mal. Wo ist meine Logik falsch, wie kann ich das angehen? Ich möchte 4 verschiedene zufällige Dinge drucken. Mein Code ist unten:Wie ein Array eines Strings randomisiert, so dass es jedes Mal anders durch die Schleife ist
public class Generator {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
Random r = new Random();
System.out.print("Enter a file name: ");
String fName = scanner.nextLine();
File infle = new File(fName);
Scanner read = new Scanner(infle);
System.out.print("Enter number to make: ");
int things = scanner.nextInt();
System.out.println();
System.out.println("Here are " + things + " things: ");
System.out.println();
//gets random animal
String animal = read.nextLine();
String[]anm1 = animal.split(":");
int rnd_Animal = r.nextInt(anm1.length);
String rndAnimal = (anm1[rnd_Animal]);
//gets random adjective
String adj = read.next();
String []adj1 = adj.split(":");
int rndAdj = r.nextInt(adj1.length);
String randomAdj = (adj1[rndAdj]);
for(int i=0; i <things; i++)
{
System.out.println(randomAdj + " " + rndAnimal);}
Also, meine Ausgabe wie gedruckt werden würde: "verschwitzt Fisch" so oft wie ich es eingegeben erzeugt werden. Wie kann ich sagen "verschwitzter Fisch", "stinkender Hund", "langsamer Fisch", wenn ich 3 Beschreibungen eingegeben habe, um generiert zu werden? Danke für jede Hilfe.
Ich denke, Sie müssen die "bekommt zufälliges Tier" und "bekommt zufällige Adjektiv" Code-Block innerhalb der for-Schleife. – Surely