Zum Inhalt springen

XQBBN

Mitglieder
  • Gesamte Inhalte

    4
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Ich habe es endlich geschafft. Jetzt habe ich ein weiteres Problem. Nachdem alle Länder ausgegeben werden, können sie nicht doppelt genutzt werden, weil die in einer Liste sind. Wenn es keine Länder mehr gibt, die ausgegeben werden sollen, dann soll der Inhalt der Liste gelöscht werden, um weiter zu spielen. Problem ist, beim löschen wird gleichzeitig ein Land ausgegeben. Also wird die Liste gelöscht und direkt kann ein neues Land ausgegeben und in die Liste gepackt werden. import java.util.Arrays; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.Path; import java.nio.charset.Charset; public class Bundesländer { // Checked, ob BL schon gezeigt wurde public static Boolean wasCountryUsed(String country, List<String> usedCountries) { for (String item: usedCountries) { // Wenn es das BL schon gibt, dann wird re-shuffled if (item.equals(country)) { return true; } } return false; } public static void main() throws java.io.IOException { String[] BL = {"eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun", "zehn", "elf", "zwölf", "dreizehn", "vierzehn", "fünfzehn", "sechzehn"}; // Erstellt file, wenn es nicht existiert // Dieser file hat alle bereits gezeigten BL File countriesFile = new File("countries.txt"); countriesFile.createNewFile(); List<String> usedCountries = Files.readAllLines(countriesFile.toPath(), Charset.defaultCharset() ); // Wenn alle BL gezeigt wurden, dann stopp if (usedCountries.size() == BL.length) { System.out.println("Es gibt keine Bundesländer mehr"); // Reinigt die BL Liste, um neu anfangen zu können usedCountries.clear(); } List<String> tmpList = new ArrayList<String>(Arrays.asList(BL)); String country = ""; // Re-shuffled in loop, bis ein neues BL vorkommt while (true) { Collections.shuffle(tmpList); country = tmpList.get(0); Boolean wasUsed = wasCountryUsed(country, usedCountries); if (wasUsed == false) { break; } } // Packt BL in benutzte BL Liste usedCountries.add(country); Path out = Paths.get("countries.txt"); Files.write(out, usedCountries, Charset.defaultCharset()); BLQuiz.frage(country); } } Ps.: Hab ein bissle umgeändert wegen dem Projekt und aus zeitlichen Gründen.
  2. Danke für die Antwort, aber wie genau mache ich das? Ich bin ziemlich neu in Java und verstehe nicht viel. Wäre nett, wenn du mir einen Code schreiben könntest.
  3. import java.util.Arrays; import java.util.Collections; import java.util.List; public class Land { public static void main(String[] args){ String[] land = {"Albanien", "Andorra", "Belarus", "Belgien", "Bosnien und Herzegowina", "Bulgarien", "Dänemark", "Deutschland", "Estland", "Finnland", "Frankreich", "Griechenland", "Irland", "Island", "Italien", "Kosovo", "Kroatien", "Lettland", "Liechtenstein", "Litauen", "Luxemburg", "Malta", "Moldau", "Monaco", "Montenegro", "Niederlande", "Nordmazedonien", "Norwegen", "Österreich", "Polen", "Rumänien", "Russland", "San Marino", "Schweden", "Schweiz", "Serbien", "Slowakei", "Slowenien", "Spanien", "Tschechien", "Ukraine", "Ungarn", "Vatikanstadt", "Vereinigtes Königreich"}; List<String> tmpList = Arrays.asList(land); Collections.shuffle(tmpList); System.out.println("Land: " + tmpList.get(0)); } }

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...