Oppgave 1
Character[] c = new Character[10]; Arrays.fill(c, 'A'); System.out.println(Arrays.toString(c)); // Utskrift: [A, A, A, A, A, A, A, A, A, A]
Oppgave 2
public static char tilfeldigBokstav() { Random r = new Random(); int k = r.nextInt(29); if (k < 26) return (char) (k + 65); else if (k == 26) return 'Æ'; else if (k == 27) return 'Ø'; else return 'Å'; }
Oppgave 3
Her kan en enten lage et eksplisitt lambda-uttrykk og så bruke det i et kall på metoden
setInn()
, eller en kan lage lambda-uttrykket som parameter. Den første
måten er kanskje mest lesbar. Her lages begge måtene:
Med et eksplisitt lambda-uttrykk:
final Random r = new Random(); Character[] c = new Character[10]; Supplier<Character> kilde = () -> { int k = r.nextInt(29); if (k < 26) return (char) (k + 65); else if (k == 26) return 'Æ'; else if (k == 27) return 'Ø'; else return 'Å'; }; settInn(c, kilde);
Med lambda-uttrykket direkte som parameter:
final Random r = new Random(); Character[] c = new Character[10]; settInn(c, () -> { int k = r.nextInt(29); if (k < 26) return (char) (k + 65); else if (k == 26) return 'Æ'; else if (k == 27) return 'Ø'; else return 'Å'; } );
Oppgave 4
public static String tilfeldigDag() { Random r = new Random(); switch (r.nextInt(7) + 1) { case 1: return "man"; case 2: return "tirs"; case 3: return "ons"; case 4: return "tors"; case 5: return "fre"; case 6: return "lør"; case 7: return "søn"; default: return "ukjent"; } }
Eksempel på bruk av tilfeldigDag()
:
String[] a = new String[10]; settInn(a, () -> tilfeldigDag()); System.out.println(Arrays.toString(a));