Noter og opgaver - Institut for Matematik og Datalogi
Noter og opgaver - Institut for Matematik og Datalogi
Noter og opgaver - Institut for Matematik og Datalogi
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Noter</strong> til Pr<strong>og</strong>rammering A<br />
5.2 Simpel debugging<br />
}<br />
}<br />
int sum;<br />
double resultat;<br />
Scanner tastatur = new Scanner(System.in);<br />
antal = 0;<br />
sum = 0;<br />
System.out.println("Indtast et helt tal:");<br />
nytTal = tastatur.nextInt();<br />
while(nytTal > 0) {<br />
sum = sum + nytTal;<br />
antal = antal + 1;<br />
System.out.println("Indtast et nyt tal:");<br />
nytTal = tastatur.nextInt();<br />
}<br />
resultat = (double) sum/antal;<br />
System.out.println("Middelvaerdi = " + resultat);<br />
5.2 Simpel debugging<br />
Den mest anvendte metode til debugging er at udskrive in<strong>for</strong>mation efterhånden<br />
som man når til specielle steder i pr<strong>og</strong>rammet, <strong>og</strong> gøres let med:<br />
System.out.println();<br />
Er du i tvivl om du kommer ind i en løkke <strong>og</strong> får lavet arbejde i den, så indsæt<br />
en System.out.println("Inden i løkken"); som den første linie indeni. Så<br />
kan du køre pr<strong>og</strong>rammet, <strong>og</strong> tydeligt se om linien udskrives.<br />
Det er <strong>og</strong>så en god idé at udskrive in<strong>for</strong>mation om sine variabler <strong>og</strong> lignende.<br />
5.3 Assertions<br />
En bedre <strong>og</strong> mere permanent måde at sikre korrektheden i sit pr<strong>og</strong>ram er at<br />
bruge assertions. En assertion er en oplysning man ved skal være sand på det<br />
sted i pr<strong>og</strong>rammet som man indsætter den.<br />
Assertions er på <strong>for</strong>men:<br />
assert(det man ved skal gælde, fx: rente > 0);<br />
Når pr<strong>og</strong>rammet skal køres skal du så huske at skrive java -ea Pr<strong>og</strong>ramNavn<br />
. -ea er en <strong>for</strong>kortelse <strong>for</strong> ’enable assertions’. Når -ea udelades, springer JAVA<br />
over assertions, så du kan der<strong>for</strong> lade dem blive stående, i modsætning til at<br />
bruge System.out.println(), der skal udkommenteres eller slettes.<br />
Et godt eksempel er hvis man regner restgæld ud <strong>for</strong> et lån, ved en metode<br />
der hedder beregnRestGaeld(), <strong>og</strong> naturligt kan en restgæld ikke være negativ,<br />
så kunne det se således ud:<br />
45