import javax.swing.JOptionPane; // Regner ut omkrets og areal av en sirkel, // basert på et grafisk brukergrensesnitt public class SirkelGUI { public static void main(String[] args) { final double PI = 3.141592654; double radius = -1.0; // signaliserer at gyldig verdi ennå ikke er angitt double omkrets, areal; // Repeter til gyldig verdi er angitt while (radius < 0.0) { // Be om radius i en dialogboks String svar = JOptionPane.showInputDialog( null, // foreldre-komponent (ikke angitt) "Hva er sirkelens radius?", // meldingstekst "Inndata", // tittel på vinduet JOptionPane.QUESTION_MESSAGE // meldingstype ); // Avslutt programmet hvis brukeren trykker "cancel" eller lukker vinduet if (svar == null) System.exit(0); // Konverter svaret til double, sjekk format og verdi try { radius = Double.parseDouble(svar); } catch (NumberFormatException unntak) { JOptionPane.showMessageDialog(null,"Feil tallformat!", "Feil",JOptionPane.ERROR_MESSAGE); continue; } if (radius < 0.0) JOptionPane.showMessageDialog(null,"Radien kan ikke være negativ!", "Feil",JOptionPane.ERROR_MESSAGE); } omkrets = 2.0*PI*radius; areal = PI*radius*radius; // Presenter resultat String resultat = "Omkrets: " + omkrets + "\nAreal: " + areal; JOptionPane.showMessageDialog(null,resultat,"Resultat", JOptionPane.PLAIN_MESSAGE); System.exit(0); // nødvendig for å avslutte programmet } }