MinstAvFire.java [Last ned]

/*
 * Programmet leser inn fire heltall og skriver dem ut igjen
 * sammen med det minste av dem funnet vha. Math.min-metoden.
 */
import static javax.swing.JOptionPane.*;
import static java.lang.Integer.*;
 
public class MinstAvFire {
  public static void main(String[] args) {
    // Setter sammen metodekall for dialogvindu og tallkverning
    int tall1 = parseInt( showInputDialog("Gi heltall nr. 1:") );
    int tall2 = parseInt( showInputDialog("Gi heltall nr. 2:") );
    int tall3 = parseInt( showInputDialog("Gi heltall nr. 3:") );
    int tall4 = parseInt( showInputDialog("Gi heltall nr. 4:") );
 
    // I Java 8 så finnes metoden min både i Integer og i Math, og
    // det oppstår dermed en tvetydighet som ikke var der i Java 7.
    //
    // Vi må dermed skrive på klassenavnet foran: Math.min
    // Slike metodekall blir omtalt på side 61 og forklart på side
    // 158-159 i læreboken. Se også kommentar nederst i denne filen.
 
    int minst1 = Math.min(tall1, tall2);
    int minst2 = Math.min(tall3, tall4);
 
 
    int allerMinste = Math.min(minst1, minst2);
    // Alternativt oppsett uten bruk av minst1 og minst2, kun:
    // int allerMinste = 
    //   Math.min(Math.min(tall1, tall2), Math.min(tall3, tall4));
 
    String utTxt = "Innleste tall: " + tall1 + ", " + tall2 + ", "
                                     + tall3 + ", " + tall4 + "\n"
                         + "Det minste tallet er: " + allerMinste;
    showMessageDialog(null, utTxt);
  }
}
 
// Statisk import gjør at vi f.eks. kan skrive parseInt i stedet for
// Integer.parseInt. Det kan være behagelig i et nybegynnerkurs.
// Desverre kan statisk import også føre til såkalte navnekollisjoner,
// ved at samme metodenavn er deklarert i flere klasser, som metoden
// min i denne oppgaven. Ved utvikling av større program vil man være
// forsiktig med bruk av statisk import, som kommentert øverst på
// side 195 i læreboken.
 
Kildekode blir vist ved hjelp av GeSHi.