Exercises in this lecture   Go to the notes, in which this exercise belongs -- Keyboard shortcut: 'u'   Alphabetic index   Course home      

Exercise 3.2
Omformning af if til switch


Se på og prøvekør programmet, som omregner procentpoint til karakterer ved skriftlige opgaver. Et komplet Java program er til jeres rådighed:

import cs1.Keyboard;

class IfDemo1 {

public static void main(String[] args){
  
  int procent, karakter;

  System.out.print("Hvormange procent? ");
  procent = Keyboard.readInt();

  if (procent >= 90)
    karakter = 11;
  else if (procent >= 82)
    karakter = 10;
  else if (procent >= 74)
    karakter = 9;
  else if (procent >= 66)
    karakter = 8;
  else if (procent >= 58)
    karakter = 7;
  else if (procent >= 50)
    karakter = 6;
  else if (procent >= 40)
    karakter = 5;
  else if (procent >= 0)
    karakter = 3;
  else karakter = 0; 

  System.out.println(procent + "% svarer til karakteren " + karakter);
  }
}

Vær sikker på, at I forstår det i detaljen. Ville programmet virke, hvis vi foretog testene i omvendt rækkefølge?

Det er åbentbart umuligt at få 13 igennem dette program; Kan man få 0 ved brug af dette program?

Diskuter hvorvidt dette program kan omskrives til brug af Java's switch kontrolstruktur. Begrund jeres svar. Udfør gerne en praktisk øvelse med dette, hvor I afprøver jeres evt. løsning i Java.

Dette program kræver adgang til klassen Keyboard eller tilsvarende (SimpletInput, jf. s 111 i Barnes). Hvis ikke din installation giver dig direkte adgang til denne klasse, ligesom det gøres på cs nettet på Aalborg Universitet, kan du blot placere Keyboard klassen i samme katalog som klassen IfDemo1.


Solution