import java.util.ArrayList; import java.util.List; class LeggSammenOrd { private static int riktig = 0; private static int feil = 0; private static List ord; private static List ord2; public static void main(String[] args) { ord = new ArrayList<>(); for (int i = 0; i < 10; i++) { ord.add(Integer.toString(i)); } String[] randomOrd = "Skriv testen til de rekursive metoden hentStringRiktigVei og hentStringFeilVei Skriv de rekursive metoden hentStringRiktigVei og hentStringFeilVei. Bruk testene du skrev i deloppgave 2.A, for å teste 2.B".split(" "); ord2 = new ArrayList<>(); for (String i : randomOrd) { ord2.add(i); } testHentStringRiktigVei(); testHentStringFeilVei(); System.out.println("--------------------------------"); System.out.println(riktig + " riktig -- " + feil + " feil"); } private static void sjekk(String expected, String calculated, String message) { if (calculated.equals(expected)) { System.out.println("Riktig!"); riktig++; } else { System.out.println("Feil! paa " + message + " - Fikk: " + calculated + " Forventet verdi: " + expected); feil++; } } public static void testHentStringRiktigVei() { String expected = ""; for (String i : ord) { expected += i; } sjekk(expected, hentStringRiktigVei(ord), "Test av tall riktig vei"); String expected2 = ""; for (String i : ord2) { expected2 += i; } sjekk(expected2, hentStringRiktigVei(ord2), "test av ord riktig vei"); } public static void testHentStringFeilVei() { String expected = ""; for (int i = ord.size() - 1; i >= 0; i--) { //baklengs expected += ord.get(i); } sjekk(expected, hentStringRiktigVei(ord), "Test av tall feil vei"); String expected2 = ""; for (int i = ord2.size() - 1; i >= 0; i--) { expected2 += i; } sjekk(expected2, hentStringRiktigVei(ord2), "ord feil vei"); } public static String hentStringRiktigVei(List ord){ if (ord.isEmpty()) { return ""; } return ord.remove(0) + hentStringRiktigVei(ord); } public static String hentStringFeilVei(List ord){ if (ord.isEmpty()) { return ""; } return ord.remove(ord.size() - 1) + hentStringRiktigVei(ord); } }