Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hirsipuu;
- import java.util.Scanner;
- import java.util.ArrayList;
- import java.io.File;
- public class SananValinta {
- private ArrayList<String> sanat;
- private ArrayList<String> kaytetytSanat;
- private String viimeinenSana;
- public SananValinta() {
- this.sanat = new ArrayList<>();
- this.kaytetytSanat = new ArrayList<>();
- }
- public void sanojenLisays() {
- try(Scanner tiedostonLukija = new Scanner(new File("sanalista.txt"))) {
- while (tiedostonLukija.hasNextLine()) {
- String rivi = tiedostonLukija.nextLine();
- String[] osat = rivi.split(",");
- for (String sana:osat) {
- if (!(sana.isEmpty())) {
- this.sanat.add(sana);
- }
- }
- }
- } catch (Exception e) {
- System.out.println("Virhe: " + e.getMessage());
- }
- }
- public String sananGenerointi() {
- String sana = duplicateWordBlocker();
- return sana;
- }
- public String duplicateWordBlocker() {
- while (true) {
- int randomIndeksi = (int) (Math.random()*this.sanat.size());
- String testiSana = this.sanat.get(randomIndeksi);
- if (testiSana.equals(this.viimeinenSana)) {
- testiSana = this.sanat.get(randomIndeksi);
- } else if (!(this.kaytetytSanat.contains(testiSana))) {
- this.kaytetytSanat.add(testiSana);
- this.viimeinenSana = testiSana;
- return testiSana;
- }
- this.viimeinenSana = this.kaytetytSanat.get(this.kaytetytSanat.size()-1);
- if (this.sanat.size() == this.kaytetytSanat.size()) {
- this.kaytetytSanat.clear();
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment