University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

Størrelse: px
Starte visningen fra side:

Download "University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11"

Transkript

1 DM503 Forelæsning 11

2 Generics Pakker Exceptions Indhold

3 Generics

4 Nedarvning og Generics Generics

5 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } }

6 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } } Antag vi har følgende Box<Number> numberbox = new Box<Number>(); Box<Integer> integerbox = new Box<Integer>();

7 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } } Antag vi har følgende Box<Number> numberbox = new Box<Number>(); Box<Integer> integerbox = new Box<Integer>(); Quiz

8 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } } Antag vi har følgende Box<Number> numberbox = new Box<Number>(); Box<Integer> integerbox = new Box<Integer>(); Quiz numberbox = integerbox;

9 Nedarvning og Generics Husk Box<T> fra sidst Generics public class Box<T> {! private T object;! public void add( T object ) {!! this.object = object;! }! public T get() {!! return object;! } } Antag vi har følgende Box<Number> numberbox = new Box<Number>(); Box<Integer> integerbox = new Box<Integer>(); Quiz numberbox = integerbox; integerbox = numberbox;

10 Generics

11 integerbox = numberbox; Generics

12 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>?

13 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>?

14 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej

15 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox;

16 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>?

17 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>?

18 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>? Det kunne måske lyde mere rimeligt...

19 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>? Det kunne måske lyde mere rimeligt... Men husk at man kan putte en Double i en Box<Number>

20 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>? Det kunne måske lyde mere rimeligt... Men husk at man kan putte en Double i en Box<Number> Det kan man ikke i en Box<Integer>

21 Generics integerbox = numberbox; Er Box<Number> en undertype af Box<Integer>? Mao. er Box<Number> en specialiseret udgave af Box<Integer>? Klart nej numberbox = integerbox; Er Box<Integer> en undertype af Box<Number>? Mao. er Box<Integer> en specialiseret udgave af Box<Number>? Det kunne måske lyde mere rimeligt... Men husk at man kan putte en Double i en Box<Number> Det kan man ikke i en Box<Integer> Dvs. Box<Integer> er ikke en Box<Number>

22 Generics

23 Generics Antag vi vil have en variabel der kun kan være en kasse af tal

24 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number

25 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox;

26 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number

27 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number numberbox = new Box<Integer>();

28 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number numberbox = new Box<Integer>(); numberbox = new Box<Number>();

29 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number numberbox = new Box<Integer>(); numberbox = new Box<Number>(); Ved en Box af en type der ikke nedarver fra Number fås en fejl

30 Generics Antag vi vil have en variabel der kun kan være en kasse af tal Altså en Box som kun kan indeholde noget som nedarver fra Number Box<? extends Number> numberbox; Kan være en Box af en ukendt (wildcard) type der nedarver fra Number numberbox = new Box<Integer>(); numberbox = new Box<Number>(); Ved en Box af en type der ikke nedarver fra Number fås en fejl numberbox = new Box<String>();

31 Generics

32 Wildcards Generics

33 Generics Wildcards Anvendes oftest ved (generelle) metoder

34 Generics Wildcards Anvendes oftest ved (generelle) metoder Fx public double sum(list<? extends Number> lst) {! double sum = 0.0;! for (Number n : lst) {!! sum += n.doublevalue(); }! return sum; }

35 Generics Wildcards Anvendes oftest ved (generelle) metoder Fx public double sum(list<? extends Number> lst) {! double sum = 0.0;! for (Number n : lst) {!! sum += n.doublevalue(); }! return sum; } Beregner summen af en liste af tal

36 Pakker

37 Pakker En pakker er en gruppering af relaterede klasser

38 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse

39 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker

40 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace)

41 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected)

42 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion

43 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion Fundamentale ting - java.lang

44 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion Fundamentale ting - java.lang Input og output - java.io

45 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion Fundamentale ting - java.lang Input og output - java.io Hjælpeklasser (datastrukturer) - java.util

46 Pakker En pakker er en gruppering af relaterede klasser Lettere at finde og bruge en bestemt klasse Undgår navngivningskonfliker Klasser kan have samme navn bare de er i forskellige pakker (namespace) Adgangskontrol (tænk på protected) Java gruppere på baggrund af funktion Fundamentale ting - java.lang Input og output - java.io Hjælpeklasser (datastrukturer) - java.util...

47 Pakker

48 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke

49 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke public abstract class Car {...}

50 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke public abstract class Car {...} public class Audi extends Car {...}

51 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke public abstract class Car {...} public class Audi extends Car {...} public class Skoda extends Car {...}

52 Pakker Antag vi har tre klasser vi gerne vil lægge i en pakke public abstract class Car {...} public class Audi extends Car {...} public class Skoda extends Car {...}

53 Pakker

54 Pakker Pkt. 1 - Find på et navn til pakken

55 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix

56 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne

57 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix

58 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker

59 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention)

60 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada

61 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada Postfix

62 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada Postfix Et selvvalgt navn

63 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada Postfix Et selvvalgt navn Fx vehicles

64 Pakker Pkt. 1 - Find på et navn til pakken navn = prefix + postfix Alting er med småt (lower case) for at undgå konflikter med klassers navne Prefix For at undgå navnekonflikter med andres pakker Brug omvendt domænenavn (konvention) dk.sdu.imada Postfix Et selvvalgt navn Fx vehicles navn = dk.sdu.imada + vehicles = dk.sdu.imada.vehicles

65 Pakker

66 Pakker Pkt. 2 - Indsæt pakkenavnet i kildekoden

67 Pakker Pkt. 2 - Indsæt pakkenavnet i kildekoden Indsæt package dk.sdu.imada.vehicles;

68 Pakker Pkt. 2 - Indsæt pakkenavnet i kildekoden Indsæt package dk.sdu.imada.vehicles; Øverst i hver java-fil

69 Pakker Pkt. 2 - Indsæt pakkenavnet i kildekoden Indsæt package dk.sdu.imada.vehicles; Øverst i hver java-fil

70 Pakker

71 Pakker Pkt. 3 - Organiser filerne i forhold til pakkenavnet

72 Pakker Pkt. 3 - Organiser filerne i forhold til pakkenavnet Klassen Car i pakken dk.sdu.imada.vehicles

73 Pakker Pkt. 3 - Organiser filerne i forhold til pakkenavnet Klassen Car i pakken dk.sdu.imada.vehicles Lægges i filen Car.java i biblioteket

74 Pakker Pkt. 3 - Organiser filerne i forhold til pakkenavnet Klassen Car i pakken dk.sdu.imada.vehicles Lægges i filen Car.java i biblioteket dk/sdu/imada/vehicles/

75 Pakker

76 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne

77 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne javac dk/sdu/imada/vehicles/car.java

78 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne javac dk/sdu/imada/vehicles/car.java javac dk/sdu/imada/vehicles/audi.java

79 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne javac dk/sdu/imada/vehicles/car.java javac dk/sdu/imada/vehicles/audi.java javac dk/sdu/imada/vehicles/skoda.java

80 Pakker Pkt. 4 - Oversæt (kompiler) Java-filerne javac dk/sdu/imada/vehicles/car.java javac dk/sdu/imada/vehicles/audi.java javac dk/sdu/imada/vehicles/skoda.java

81 Pakker

82 Pkt. 5 - Brug pakken Pakker

83 Pakker Pkt. 5 - Brug pakken Skriv en klasse som bruger pakken

84 Pakker Pkt. 5 - Brug pakken Skriv en klasse som bruger pakken import dk.sdu.imada.vehicles.audi; public class Main {! public static void main(string[] args) {!! Audi a8 = new Audi();!! a8.drive(45.5);!! System.out.println("My Audi A8 has driven: " + a8.getmileage());! } }

85 Pakker Pkt. 5 - Brug pakken Skriv en klasse som bruger pakken import dk.sdu.imada.vehicles.audi; public class Main {! public static void main(string[] args) {!! Audi a8 = new Audi();!! a8.drive(45.5);!! System.out.println("My Audi A8 has driven: " + a8.getmileage());! } }

86 Pakker

87 Pakker Man kan også pakke pakker sammen i et pakket format

88 Pakker Man kan også pakke pakker sammen i et pakket format Kan sendes til andre

89 Pakker Man kan også pakke pakker sammen i et pakket format Kan sendes til andre Kaldes jar-filer

90 Pakker Man kan også pakke pakker sammen i et pakket format Kan sendes til andre Kaldes jar-filer Er basalt set en zip-fil

91 Pakker Man kan også pakke pakker sammen i et pakket format Kan sendes til andre Kaldes jar-filer Er basalt set en zip-fil Se mere her:

92 Exceptions

93 Exceptions Et sidste kig på exceptions

94 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception

95 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java

96 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions

97 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch,

98 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch, eller erklæres i throws delen af metoden

99 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch, eller erklæres i throws delen af metoden Unchecked Exceptions

100 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch, eller erklæres i throws delen af metoden Unchecked Exceptions Nedarver fra RuntimeException

101 Exceptions Et sidste kig på exceptions Exceptions er bare klasser der nedarver fra java.lang.exception To typer exceptions i Java Checked Exceptions Skal fanges med try-catch, eller erklæres i throws delen af metoden Unchecked Exceptions Nedarver fra RuntimeException Behøver ikke fanges med try-catch

102 Exceptions

103 Checked Exceptions Exceptions

104 Checked Exceptions try-catch Exceptions public class Main {! public static void main( String[] args ) {!! try {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );!! } catch( FileNotFoundException fnfe ) {!!! System.out.println( "Filen blev ikke fundet." );!! }! } }

105 Checked Exceptions try-catch Exceptions public class Main {! public static void main( String[] args ) {!! try {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );!! } catch( FileNotFoundException fnfe ) {!!! System.out.println( "Filen blev ikke fundet." );!! }! } } throws public class Main {! public static void main( String[] args ) throws FileNotFoundException {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );! } }

106 Checked Exceptions try-catch Exceptions public class Main {! public static void main( String[] args ) {!! try {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );!! } catch( FileNotFoundException fnfe ) {!!! System.out.println( "Filen blev ikke fundet." );!! }! } } throws public class Main {! public static void main( String[] args ) throws FileNotFoundException {!!! Scanner sc = new Scanner( new File( "fil.txt" ) );! } }

107 Exceptions

108 Unchecked Exceptions Exceptions

109 Unchecked Exceptions Skal ikke fanges Exceptions

110 Unchecked Exceptions Skal ikke fanges Exceptions public class Main {! public static void main( String[] args ) {!! int d1 = 42, d2 = 0;!! System.out.println( "Result: " + (d1 / d2) );! } }

111 Unchecked Exceptions Skal ikke fanges Exceptions public class Main {! public static void main( String[] args ) {!! int d1 = 42, d2 = 0;!! System.out.println( "Result: " + (d1 / d2) );! } }

112 Exception

113 Lav dine egne exceptions Exception

114 Lav dine egne exceptions Checked Exceptions Exception

115 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } }

116 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! try {!!! throwanexception();!! } catch( MyException me ) {!!! System.out.println( me );!! }! }! public static void throwanexception() throws MyException {!! System.out.println( "Starting throwanexception" );!! throw new MyException( "Der skete en fejl!" );! } }

117 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! try {!!! throwanexception();!! } catch( MyException me ) {!!! System.out.println( me );!! }! }! public static void throwanexception() throws MyException {!! System.out.println( "Starting throwanexception" );!! throw new MyException( "Der skete en fejl!" );! } }

118 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! try {!!! throwanexception();!! } catch( MyException me ) {!!! System.out.println( me );!! }! }! public static void throwanexception() throws MyException {!! System.out.println( "Starting throwanexception" );!! throw new MyException( "Der skete en fejl!" );! } }

119 Lav dine egne exceptions Checked Exceptions Exception public class MyException extends Exception {! public MyException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! try {!!! throwanexception();!! } catch( MyException me ) {!!! System.out.println( me );!! }! }! public static void throwanexception() throws MyException {!! System.out.println( "Starting throwanexception" );!! throw new MyException( "Der skete en fejl!" );! } }

120 Exceptions

121 Lav dine egne exceptions Exceptions

122 Lav dine egne exceptions Unchecked Exceptions Exceptions

123 Lav dine egne exceptions Unchecked Exceptions Exceptions public class MyRuntimeException extends RuntimeException {! public MyRuntimeException( String str ) {!! super( str );! } }

124 Lav dine egne exceptions Unchecked Exceptions Exceptions public class MyRuntimeException extends RuntimeException {! public MyRuntimeException( String str ) {!! super( str );! } } public class Main {! public static void main( String[] args ) {!! throwanexception();! }! public static void throwanexception() {!! throw new MyRuntimeException( "Der skete en fejl!" );! } }

125 Programmering

126 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte?

127 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz,...

128 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz,...

129 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz,

130 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz,

131 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode

132 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code

133 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code Løs et problem for et open source projekt

134 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code Løs et problem for et open source projekt Tjen 4500$ hen over sommeren

135 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code Løs et problem for et open source projekt Tjen 4500$ hen over sommeren

136 Programmering Hvis jeg synes programmering er sjovt, hvor kan jeg så fortsætte? DM507, DM5xx, DM5yy, DM5zz, Fyldt med open source kode Google Summer of Code Løs et problem for et open source projekt Tjen 4500$ hen over sommeren Find dit problem og løs det

137 Tak for go ro og orden... og aktiv deltagelse!

138

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3 DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6 DM502 Forelæsning 6 Klasser og objekter Introduktion Math-klassen Indhold Klasser vs. objekter Først et tænkt eksempel: Vi vil lave en bil i Java 1. spørgsmål: Hvad karakteriserer en bil? Model År Farve...

Læs mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

Læs mere

Hvordan vælger jeg dokumentprofilen?

Hvordan vælger jeg dokumentprofilen? Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11 DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4

Læs mere

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:

Læs mere

Virkefeltsregler i Java

Virkefeltsregler i Java Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten

Læs mere

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 4 1. marts - 8. marts Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,

Læs mere

Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox

Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox Martin Olsen DM0 Projekt 0 Del I. marts 0 FOTO: Colourbox Indhold Indledning... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Kildekode til SimpleInv.java... Kildekode til MergeSort.java...

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

Objektorienteret Programmering

Objektorienteret Programmering Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:

Læs mere

BRP 6.9.2006 Kursusintroduktion og Java-oversigt

BRP 6.9.2006 Kursusintroduktion og Java-oversigt BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:

Læs mere

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 7 DM -. Obligatoriske Opgave Løsning af ligningssystem vha. fipunktmetoden Jacob Christiansen, 8 moffe@imada.sdu.dk Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense. Opgaven Der skal implementeres

Læs mere

Overblik. Class Loader. Java. Class Libraries. Bytecode. Verifier Java. Source (.java) Just in Time Compiler. Java

Overblik. Class Loader. Java. Class Libraries. Bytecode. Verifier Java. Source (.java) Just in Time Compiler. Java OOP1 Java intro. Klasser, objekter, interfaces, nedarvning, Association, Aggregation og Composition mvh. Try and catch exceptions. Package Intro. til jar filer. Overblik Compile-time Environment Run-time

Læs mere

Tree klassen fra sidste forelæsning

Tree klassen fra sidste forelæsning Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years

Læs mere

Klasser og nedarvning

Klasser og nedarvning Datalogi C, Efterår 2004 OH er, forelæsning 21/9-2004 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Opgaven til senere: Generalisere

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4 DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens

Læs mere

Kursus navn: Indledende programmering Kursus nr. 02101

Kursus navn: Indledende programmering Kursus nr. 02101 Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7 DM01 DM01 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 13/5-2003 Side 1 af 7 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DNA2:...4 2.1.1 METODER:...4

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

14.1 Internationale programmer

14.1 Internationale programmer 14.1 Internationale programmer Når et program skal anvendes af flere kulturer og sprog opstår behov for at programtekster, beløb og datoangivelser afhænger af landet og sproget, og man må i gang med at

Læs mere

class subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree.

class subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree. Programmering 1999 Forelæsning 11, tirsdag 5. oktober 1999 Oversigt Klasse-hierarkier: superklasser og subklasser Nedarvning Polymorfi Programmering 1999 KVL Side 11-1 Hierarkier En klasse repræsenterer

Læs mere

Offset til terminalskærm i Java

Offset til terminalskærm i Java Denne guide er oprindeligt udgivet på Eksperten.dk Offset til terminalskærm i Java Ikke en atikkel - men en Classe til java der gør det nemt at skrive ud på avancerede måder når man kun opererer i dosvindue.

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

RMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.

RMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer. Denne guide er oprindeligt udgivet på Eksperten.dk RMI avanceret Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer. Den forudsætter

Læs mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler

Læs mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1. Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:

Læs mere

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation Plan 12.3. Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen Hvad er et

Læs mere

Løsning af møntproblemet

Løsning af møntproblemet Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet

Læs mere

Hvad er Objekter - Programmering

Hvad er Objekter - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller Upload fil Upload fil skal ses som et alternativ til at indsende tællefiler vedhæftet til mails Upload fil kan være en hurtigere og mere håndholdt måde at få data ind i Mastra på. Man starter med via Gennemse

Læs mere

Noter og opgaver. Programmering A IMADA. Niels Kjeldsen & Jacob Aae Mikkelsen. Med grundig korrektur og rettelser af Edmund Christiansen

Noter og opgaver. Programmering A IMADA. Niels Kjeldsen & Jacob Aae Mikkelsen. Med grundig korrektur og rettelser af Edmund Christiansen Programmering A IMADA Noter og opgaver Niels Kjeldsen & Jacob Aae Mikkelsen Med grundig korrektur og rettelser af Edmund Christiansen Noter til Programmering A INDHOLD Indhold 1 Indledning 3 2 Kom i gang

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Anvendelse af metoder - Programmering

Anvendelse af metoder - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur

Læs mere

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter

Læs mere

O l e 3 1 2. 2 \n I b 1 1 1 1 7 \n. Ole 312.2 Ib 11117 TT_EOF. Ole 312.2. Ib 11117. Overview Tekstfiler, tegn og brikker

O l e 3 1 2. 2 \n I b 1 1 1 1 7 \n. Ole 312.2 Ib 11117 TT_EOF. Ole 312.2. Ib 11117. Overview Tekstfiler, tegn og brikker Programmering 1999 Forelæsning 8, fredag 24. september 1999 Overview Tekstfiler, tegn og brikker StreamTokenizer: indlæsning fra tekstfiler Formateret udskrift Programmering 1999 KVL Side 8-1 Tekstfiler

Læs mere

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Denne guide er oprindeligt udgivet på Eksperten.dk XML parsning i Java Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Den forudsætter kendskab til Java og XML.

Læs mere

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge

Læs mere

import java.awt.event.*; import java.awt.*; Container <- Panel <- Applet Component <- Button <- Checkbox <- ScrollPane <- Label

import java.awt.event.*; import java.awt.*; Container <- Panel <- Applet Component <- Button <- Checkbox <- ScrollPane <- Label Programmering 1999 Forelæsning 13, tirsdag 12. oktober 1999 Oversigt Grafiske brugergrænseflader. Komponenter: Knapper, tekstfelter, checkbokse... Vinduer (containere). Hændelser, hændelsesstyret programmering.

Læs mere

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne. Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning

Læs mere

Send fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.

Send  fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende  fra Java. Denne guide er oprindeligt udgivet på Eksperten.dk Send email fra Java Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende email fra Java. Simple eksempler ikke noget vildt

Læs mere

Tilfældige tal. Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge.

Tilfældige tal. Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge. Denne guide er oprindeligt udgivet på Eksperten.dk Tilfældige tal Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge. Den forudsætter

Læs mere

CodeDOM - Dynamisk generering og kompilering af kode

CodeDOM - Dynamisk generering og kompilering af kode Denne guide er oprindeligt udgivet på Eksperten.dk CodeDOM - Dynamisk generering og kompilering af kode Med CodeDOM kan man på runtime generere kode, kompilere det og derefter afvikle det. I denne artikel

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition) Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer

Læs mere

Perspektiverende Datalogi Internetalgoritmer. MapReduce. Gerth Stølting Brodal

Perspektiverende Datalogi Internetalgoritmer. MapReduce. Gerth Stølting Brodal Perspektiverende Datalogi Internetalgoritmer MapReduce Gerth Stølting Brodal MapReduce Implementationer Dean, F. and Ghemawat, S. (2004) MapReduce: Simplified Data Processing on Large Clusters. In: Sixth

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Klassevariabler og klassemetoder Levetid for variabler og parametre Virkefeltsregler Projektopgave Kaninjagt Lommeregner (for MAT studerende) Klassevariabler og klassemetoder

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6

Læs mere

Det er muligt at chekce følgende opg. i CodeJudge: og

Det er muligt at chekce følgende opg. i CodeJudge: og Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.

Læs mere

Løsning af skyline-problemet

Løsning af skyline-problemet Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle

Læs mere

Java Klasse nedarvninger

Java Klasse nedarvninger Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering

Læs mere

02101 Indledende Programmering Introduktion til Eclipse

02101 Indledende Programmering Introduktion til Eclipse 02101 Indledende Programmering Introduktion til Eclipse Version 2018 1 Introduktion I dette kursus lægger vi op til at man bruger det integrerede udviklingsmiljø Eclipse. Basalt set er et integreret udviklingsmiljø

Læs mere

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter..

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter.. 9.8 Kildekode Pakke Klasse Sidenummer db Aktivitetstype 91 Behandler 91 ConnectDB 92 DagensKommentar 93 Helligdag 94 IkkePrimaerTid 94 Patient 96 Patientaftale 96 PatientAktivitet 97 Patientgruppe 98 PatientgruppeItem

Læs mere

Prepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC.

Prepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC. Denne guide er oprindeligt udgivet på Eksperten.dk Prepared Statements Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC. Skrevet den 18. Feb 2010

Læs mere

Servlets, Tomcat & BlueJ

Servlets, Tomcat & BlueJ Servlets, Tomcat & BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 05.october 2007 Hvad er Servlets: For at forstå det, må vi først få styr på to begreber, nemlig statiske og dynamiske hjemmesider

Læs mere

Geografisk lokalisering i JSP

Geografisk lokalisering i JSP Denne guide er oprindeligt udgivet på Eksperten.dk Geografisk lokalisering i JSP Denne artikel forklarer lidt om hvorfor og hvordan man laver geografisk lokalisering og viser noget kode. Der er andre artikler

Læs mere

Singleton pattern i Java

Singleton pattern i Java Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.

Læs mere

Programmering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden.

Programmering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden. Programmering 1999 Forelæsning 5, tirsdag 14. september 1999 Oversigt Mere om klasser og objekter Klassefelter: static Konstante felter: final Indkapsling og synlighed: private og public Overlæsning af

Læs mere

Hvilket sprog er hurtigst

Hvilket sprog er hurtigst Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog er hurtigst Denne artikel forsøger at aflive forskellige myter om hvilke sprog der er hurtigst. Den forudsætter ikke noget særligt. Skrevet

Læs mere

Vejledning til listings-pakken

Vejledning til listings-pakken Vejledning til listings-pakken Morten Ovi latex@student.dtu.dk / 6. juli 2004 Indhold 1 Om listings-pakken 1 2 Indstilling af listings 2 3 listings-pakken i praksis 2 3.1 listings i teksten............................

Læs mere

Web- og serverprogrammering

Web- og serverprogrammering Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Web- og serverprogrammering Databasekommunikation - dag 7 Strategier til databaseadgang JDBC (Java DataBase Connectivity)

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2015 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 3. marts, 2015 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Eksempel på en database: studenter, kurser, eksamener

Eksempel på en database: studenter, kurser, eksamener Udvidet Programmering 1999 Forelæsning 20, fredag 12. november 1999 Relationsdatabaser: relationer, tupler, attributter Forespørgselssproget SQL Databasesystemet PostgreSQL Tilgang til relationsdatabaser

Læs mere

CVS som KS-værktøj E3-104. Branching, Merging m.v.

CVS som KS-værktøj E3-104. Branching, Merging m.v. CVS som KS-værktøj E3-104 Branching, Merging m.v. Gennemgang af Oprettelse af CVS-træ Tilføj filer Commit Fil forskelle Merging Branching Ekstra værktøjer Avanceret Oprettelse af CVS-træ report graphics

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList klassen Gør det let at lave en objektsamling (collection) med et variabelt antal elementer Der er mange andre slags objektsamlinger (se Collection interfacet i JavaDoc)

Læs mere

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004 Genbrugelige komponenter og designmønstre i Java Jacob Nordfalk Ingeniørhøjskolen i København Nykøbing F itvisioncenter 24. februar 2004 Program Om Jacob Nordfalk introduktion (ikke-teknisk del) Komponentbaseret

Læs mere

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere

Singleton pattern i C#

Singleton pattern i C# Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i C# Denne artikel beskriver Singleton pattern og implementation i C#. Den forudsætter kendskab til C# men ikke til Singleton. Der er

Læs mere

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &. MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 9 Andre designmønstre Andre designmønstre: Uforanderlig, Fluevægt, Lagdelt Initialisering, Komposit/Rekursiv Komposition, Kommando/Ændring Fremlæggelse af programmering/status

Læs mere

SigmaT.

SigmaT. Java + Groovy Disposition Om SigmaT Eksempel på indlejring af Groovy Overvågning af PEM Ønske om dynamisk loaded Java uden at fifle med classloaderen Groovy til hjælp Opsamling hvad jeg ikke har fortalt

Læs mere

Tredjepart webservices

Tredjepart webservices Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output

Læs mere

Nye features i Java 1.5/5.0

Nye features i Java 1.5/5.0 Denne guide er oprindeligt udgivet på Eksperten.dk Nye features i Java 1.5/5.0 Denne artikel beskriver nye features i Java 1.5/5.0, som lige er kommet i final (ikke-beta) udgave. Den forudsætter et vist

Læs mere

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft Kurserne Kurset: programmering i sproget Java Programmering og Udvidet Programmering Lærerne: Morten Larsen og Peter Sestoft Kursusmål: I skal lære at skrive interessante programmer i Java Forudsætninger:

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList Collection (samling af objekter) med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel

Læs mere

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Denne guide er oprindeligt udgivet på Eksperten.dk Test med JUnit 3 Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University

Læs mere

Plugin-arkitektur med.net

Plugin-arkitektur med.net Denne guide er oprindeligt udgivet på Eksperten.dk Plugin-arkitektur med.net Denne artikel viser hvordan du kan lave en plugin-arkitektur i dit program. Gør det muligt for andre at skrive udvidelser til

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 6 Komponenter (og lidt Swing og MVC) Læsning: VP 4, evt. VP 6 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Grafiske komponenter

Læs mere

Forelæsning 17, tirsdag 2. november 1999 Søgning efter en given værdi i en tabel. Programmering 1999

Forelæsning 17, tirsdag 2. november 1999 Søgning efter en given værdi i en tabel. Programmering 1999 sammenligninger, hvor Programmering 1999 Forelæsning 17, tirsdag 2 november 1999 Søgning efter en given værdi i en tabel Lineær søgning og binær søgning Effektivitet: maskinuafhængig vurdering af køretid

Læs mere

Find største element, sæt det på sidste plads. Grundidé i hobsortering. er er

Find største element, sæt det på sidste plads. Grundidé i hobsortering. er er Programming 1999 KVL Side 19-2 Tidsforbruget, dvs asymptotisk proportionalt med Sorting af element: Tidsforbrug de mindste element, sortet øvrige element 0 Løkkeinvariant for udvalgssorting osv Find tredjemindste

Læs mere

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Kursusnavn: Programmering. Tilladte hjælpemidler: Alle skriftlige hjælpemidler Opgavesættet består af fire opgaver, der har følgende vægtning: Opgave

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere