/** * Die Klasse NGramm. * * @author (Ihr Name) * @version (eine Versionsnummer oder ein Datum) */ public class NGramm { // 1. Methode a) Rueckgabewert ist boolean // Aufruf NGramm.comparison(0, 2, new String[]{"a", "b", "c", "d"}) static boolean comparison(int i, int j, int n, String[] text) { boolean compare = true; for(int x = 0; x < n; x++) { if (text[i+x].equals(text[j+x]) == false) { compare = false; } } return compare; } //2. Methode b) static int countComparison(int i, int n, String[] text, int sum) { for(int j = 0; j < text.length - n + 1; j++) { if (comparison(i, j, n, text)) { sum++; } } return sum; } //3. Methode c) liefert ein j aus der summe von b) static int giveIndex(int i, int n, String[] text, int m) { int j = 0; for(int check = 0; check < m; j++) { if (comparison(i, j, n, text)) { check++; } } return j-1; } //4. Methode d) static void generateNew(int n, int i, int maxWords, String[] text) { for(int x = 0; x < maxWords; x++) { System.out.print(text[i]+" "); int sum = 0; sum = countComparison(i,n, text, sum); int zufall = (int) (Math.random() * sum +1); i = giveIndex(i, n, text, zufall) +1; } } }