If/else, switch og do
Nå tar du Java et steg videre med JOptionPane (pop‑up‑vinduer), if/else, switch og løkker.
Hva lærer vi her?
GUI
Dialogbokser
Vi bruker JOptionPane for å lage mer visuelle
programmer.
Logikk
Switch-case
Lær en ryddigere måte å håndtere mange valgalternativer på.
Løkker
Do-While
En løkke som alltid kjører koden din minst én gang.
💡
Husk:
showInputDialog returnerer alltid tekst. Du må bruke
Integer.parseInt() for å regne med tallene.
Oppgave 01
Myndig eller ikke? (if/else)
Vi starter med et program som spør om alder i en dialog og bruker en
boolean for å sjekke status.
Hint: Legg merke til hvordan vi konverterer
String input til
int alder før vi sammenligner.
import javax.swing.JOptionPane;
public class Oppgave01_Myndig {
public static void main(String[] args) {
String input = JOptionPane.showInputDialog("Hvor gammel er du?");
int alder = Integer.parseInt(input);
boolean myndig;
if (alder >= 18) {
myndig = true;
} else {
myndig = false;
}
JOptionPane.showMessageDialog(null, "Myndig: " + myndig);
}
}
Oppgave 02
Karakter-maskinen (switch)
Brukeren skriver inn en tallkarakter (0–5). Programmet viser tekst ved hjelp av en
switch.
Hint:
default fungerer som en "else" – den fanger opp alt som ikke passer
i de andre casene.
import javax.swing.JOptionPane;
public class Oppgave02_Karakter {
public static void main(String[] args) {
String input = JOptionPane.showInputDialog("Tallkarakter (0–5):");
int tall = Integer.parseInt(input);
String tekst;
switch (tall) {
case 5: tekst = "A – Meget god!"; break;
case 4: tekst = "B – God!"; break;
case 3: tekst = "C – Ok!"; break;
case 2: tekst = "D – Nesten der!"; break;
case 1: tekst = "E – Bestått"; break;
case 0: tekst = "F – Ikke bestått"; break;
default: tekst = "Ugyldig karakter";
}
JOptionPane.showMessageDialog(null, tekst);
}
}
Oppgave 03
100 poeng med terning (do‑while)
Her bruker vi en løkke som kaster terning helt til summen er minst 100.
[Image of do-while loop flowchart]
Hint: Forskjellen på
while og do-while er at sistnevnte
alltid kjører koden inni klammene før den sjekker om den skal fortsette.
import java.util.Random;
import javax.swing.JOptionPane;
public class Oppgave03_Terning100 {
public static void main(String[] args) {
Random rnd = new Random();
int sum = 0;
int antall = 0;
do {
int kast = rnd.nextInt(6) + 1;
sum += kast;
antall++;
} while (sum < 100);
JOptionPane.showMessageDialog(
null,
"Antall kast: " + antall + "\nSum: " + sum
);
}
}