14.1 Internationale programmer
|
|
- Pia Bagge
- 8 år siden
- Visninger:
Transkript
1 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 internationalisere og lokaliseret programmet. Internationalisering består i at gøre programmet sprogneutralt, ved at sørge for at al formatering og fortolkning af tal-, beløbs-, dato- og tidsangivelser sker afhængigt af sproget, og at al sproglig tekst er flyttet til resursefiler. Lokalisering består i at oversætte resursefilerne til et bestemt sprog Formatering af tal- og tidsangivelser DateFormat formaterer Date-objekter til strenge (og den anden vej). public class BenytDateFormat public static void main(string arg[]) DateFormat klformat, datoformat, dkf; klformat = DateFormat.getTimeInstance(DateFormat.FULL); datoformat = DateFormat.getDateInstance(DateFormat.LONG); dkf = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.SHORT); Date tid = new Date(); System.out.println( "Kl :"+ klformat.format(tid) ); System.out.println( "Dato :"+ datoformat.format(tid) ); System.out.println( "Tid :"+ dkf.format(tid) ); Kl : 23:57:34 CEST Dato : 25. juni 2001 Tid : :57 På samme måde formateres/fortolkes tal ved at bede om et formateringsobjekt der klarer netop denne form for tal: public class BenytNumberFormat public static void main(string arg[]) NumberFormat fmt1 = NumberFormat.getInstance(); NumberFormat fmt2 = NumberFormat.getCurrencyInstance(); NumberFormat fmt3 = NumberFormat.getPercentInstance(); double tal = ; System.out.println( fmt1.format(tal) ); System.out.println( fmt2.format(tal) ); System.out.println( fmt3.format(tal) ); 1.234,568 kr 1.234, % Ovenstående programmer er kørt med danske sprogindstillinger. Med amerikanske sprogindstillinger bliver uddata i stedet: 1, $1, ,457%
2 Tekstindhold i resursefiler Programmet BenytDateFormat er allerede halvt internationaliseret, idet tidsangivelserne er sprogspecifikke. Lad os nu fuldbyrde programmet ved at lægge tekstindholdet ud i en resursefil. Det gøres således: public class BenytDateFormatMedResurser public static void main(string arg[]) ResourceBundle res = ResourceBundle.getBundle("Tekster"); DateFormat klformat, datoformat, dkf; klformat = DateFormat.getTimeInstance(DateFormat.FULL); datoformat = DateFormat.getDateInstance(DateFormat.LONG); dkf = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.SHORT); Date tid = new Date(); System.out.println( res.getstring("kl_")+ klformat.format(tid) ); System.out.println( res.getstring("dato_")+ datoformat.format(tid) ); System.out.println( res.getstring("tid_")+ dkf.format(tid) ); Kl : 23:57:34 CEST Dato : 25. juni 2001 Tid : :57 Filen Tekster.properties indeholder de oprindelige tekster i nøgle-værdi-par. Disse vil blive brugt hvis der ikke findes resursefiler for det pågældende sprog: Tid_=Tid \: Kl_=Kl \: Dato_=Dato \: Lad os nu lokalisere programmet til engelsk. Det består i at vi opretter Tekster_en.properties med de engelske tekster: Tid_=Time \: Kl_=Time of day\: Dato_=Date \: Starter vi derefter programmet med engelske sprogindstillinger (fra UNIX med kommandoen LC_CTYPE=en java BenytDateFormatMedResurser) får vi uddata: Time of day: 12:43:02 AM CET Date : June 25, 2001 Time : Jun 25, :43 AM Når programmet skal finde en programtekst ud fra sprogindstillingerne sker det ved at Binære resursefiler I stedet for at gemme teksterne i tekstfiler kan de også som binære.class-filer (oversatte.java-filer). Hvis de findes, vil de binære resursefiler blive brugt fremfor tekstfilerne. Man skal ikke rette Binære resursefiler laves ved at arve fra ListResourceBundle og angive nøgle-værdi-parrene i et array. Her er Tekster-resurserne igen, men nu i javafilen Tekster.java public class Tekster extends ListResourceBundle static final Object[][] contents = new String[][] "Kl_", "Kl : ", "Dato_", "Dato: ", "Tid_", "Tid : " ; public Object[][] getcontents() return contents;
3 Her er Tekster_en.java: public class Tekster_en extends java.util.listresourcebundle static final Object[][] contents = new String[][] "Kl_", "Time of day : ", "Dato_", "Date : ", "Tid_", "Time : " ; public Object[][] getcontents() return contents; Avanceret tekstformattering Det er klart at man ikke kommer langt med internationalisering af sit program hvis man ikke i resursefilerne kan angive tekster med parametre. I disse parametre kan være tal- og tidsangivelser af forskellig form. Til dette bruges MessageFormat-klassen. MessageFormat tager en formatteringsstreng og et array af argumenter og returnerer en streng med argumenterne formatteret. Herunder bruger vi det samme sæt argumenter og prøver med forskellige formatteringsstrenge. public class BenytMessageFormat public static void main(string[] args) // Object[] a = new Date(), "A", new Double(0.75), new Integer(2), new Integer(5) ; String[] s = "Klokken 0,time d. 0,date var der 4 tilhørere i sal 1.", "Klokken 0,time,short d. 0,date,long.", "Klokken 0,time,h:mm a d. 0,date,short.", "Samlet pris: 2,number,currency.", "Avance: 2,number,percent.", "Der kom 2,choice,0ikke en sjæl! 1en person 2to personer 2<2 personer.", "Der kom 3,choice,0ikke en sjæl! 1en person 2to personer 2<3 personer.", "Der kom 4,choice,0ikke en sjæl! 1en person 2to personer 2<4 personer.", ; for (int i=0; i<s.length; i++) System.out.println( MessageFormat.format(s[i],a) ); Klokken 11:08:03 d var der 5 tilhørere i sal A. Klokken 11:08 d. 31. januar Klokken 11:08 AM d Samlet pris: kr 0,75. Avance: 75%. Der kom ikke en sjæl!. Der kom to personer. Der kom 5 personer. MessageFormat forstår følgende syntaks (EBNF?? -diagram): messageformatpattern := string ( "" messageformatelement "" string )* messageformatelement := argument "," elementformat elementformat := "time" "," datetimestyle "date" "," datetimestyle "number" "," numberstyle "choice" "," choicestyle datetimestyle := "short" "medium"
4 "long" "full" dateformatpattern numberstyle := "currency" "percent" "integer" numberformatpattern choicestyle := choiceformatpattern MessageFormat anvender NumberFormat, DateFormat og ChoiceFormat til at hjælpe med formatteringen. ChoiceFormat afgører ud fra et tal hvilken del af dens formatteringsstreng der skal vises (kan fornemmes af ovenstående eksempel Selv bestemme sproget Land og sprog repræsenteres ved et Locale-objekt. Normalt fungerer et program kun på eet sprog af gangen, og så er det ikke nødvendigt at bekymre sig om Locale-objektet. Ved opstart af et program opretter Java et Locale-objekt, der svarer til sprogindstillingerne på maskinen (på mit UNIX-system ud fra miljøvariablen LC_CTYPE). Dette Locale-objekt bruges til al formatering og lignende. Det kan fås med Locale.getDefault(). Ønsker man at ændre standardsproget gøres det med Locale.setDefault(Locale nyt). Ønsker man mere kontrol over sproget kan man oprette et Locale-objekt selv: Første parameter i konstruktøren er sprogkoden (f.eks. da, sv, no, en, fr), anden parameter landekode (f.eks. DK, GB, DE, FR, en tom streng "" kan også bruges). Dette objekt bruges til fremskafning af formateringsobjekter til det pågældende sprog: public class BenytDateFormat2 public static void main(string arg[]) DateFormat klformat, datoformat; Locale fransk = new Locale("fr","FR"); klformat = DateFormat.getTimeInstance(DateFormat.SHORT,fransk); datoformat = DateFormat.getDateInstance(DateFormat.LONG,fransk); Date tid = new Date(); System.out.println( "Kl: "+ klformat.format(tid) ); System.out.println( "Dato: "+ datoformat.format(tid) ); Kl: 14:34 Dato: 15 juillet 2001
5 14.2 Status for lokalisering af Java Tids- og talformater Java understøtter dansk fuldt ud Systemmeddelelser Java mangler resursefiler til dansk. Vindues-systemet størrelse (byte) 3964 nov 25 01:05./java/awt/resources/awt.properties 4436 nov 25 01:05./java/awt/resources/awt_de.properties 4728 nov 25 01:05./java/awt/resources/awt_es.properties 4788 nov 25 01:05./java/awt/resources/awt_fr.properties 4516 nov 25 01:05./java/awt/resources/awt_it.properties 4293 nov 25 01:05./java/awt/resources/awt_ja.properties 4242 nov 25 01:05./java/awt/resources/awt_ko.properties 4222 nov 25 01:05./java/awt/resources/awt_sv.properties 4022 nov 25 01:05./java/awt/resources/awt_zh_CN.properties 4015 nov 25 01:05./java/awt/resources/awt_zh_TW.properties Udklip af den svenske /10/01 1.9, 10/01/99 AWT-specific properties Modifier names AWT.shift=Skift AWT.control=Ctrl AWT.alt=Alt AWT.meta=Meta AWT.altGraph=Alt Graph Key names AWT.enter=Enter AWT.backSpace=Backsteg AWT.tab=Tabb AWT.cancel=Avbryt AWT.clear=Ta bort AWT.pause=Paus AWT.capsLock=Caps Lock AWT.escape=Esc AWT.space=Mellanslag AWT.pgup=Page Up AWT.pgdn=Page Down AWT.end=End AWT.home=Home AWT.left=V\u00e4nsterpil AWT.up=Upp\u00e5tpil AWT.right=H\u00f6gerpil AWT.down=Ned\u00e5tpil JAR-værktøjet (minder om ZIP) 2647 nov 25 01:05./sun/tools/jar/resources/jar.properties 2987 nov 25 01:05./sun/tools/jar/resources/jar_de.properties 2936 nov 25 01:05./sun/tools/jar/resources/jar_es.properties 3206 nov 25 01:05./sun/tools/jar/resources/jar_fr.properties 2887 nov 25 01:05./sun/tools/jar/resources/jar_it.properties 7107 nov 25 01:05./sun/tools/jar/resources/jar_ja.properties 4747 nov 25 01:05./sun/tools/jar/resources/jar_ko.properties 2886 nov 25 01:05./sun/tools/jar/resources/jar_sv.properties 3798 nov 25 01:05./sun/tools/jar/resources/jar_zh_CN.properties 3524 nov 25 01:05./sun/tools/jar/resources/jar_zh_TW.properties Udklip af den svenske fil: error.cant.open=\ kan inte \u00f6ppna: 0 error.illegal.option=\ Ogiltigt alternativ: 0 error.bad.option=\ Ett av alternativen -ctxu m\u00e5ste anges. error.bad.cflag=\ 'c'-flaggan kr\u00e4ver att indatafilerna anges! error.bad.uflag=\ 'u'-flaggan kr\u00e4ver att manifest- eller indatafilerna anges! error.nosuch.fileordir=\ 0 : Det finns ingen s\u00e5dan fil eller katalog. error.write.file=\ Det uppstod ett fel vid skrivning till befintlig jar-fil. error.create.dir=\ 0 : Det gick inte att skapa n\u00e5gon katalog. error.incorrect.length=\ ogiltig l\u00e4ngd vid bearbetning: 0 out.added.manifest=\ extra manifestfil Videregående programmering Lektion Status for lokalisering af Java
6 out.update.manifest=\ uppdaterad manifestfil out.ignore.entry=\ ignorerar posten 0 Printerdialoger 3604 nov 25 01:05./sun/awt/print/resources/pdialog.properties 3710 nov 25 01:05./sun/awt/print/resources/pdialog_de.properties 3756 nov 25 01:05./sun/awt/print/resources/pdialog_es.properties 4011 nov 25 01:05./sun/awt/print/resources/pdialog_fr.properties 3596 nov 25 01:05./sun/awt/print/resources/pdialog_it.properties 5629 nov 25 01:05./sun/awt/print/resources/pdialog_ja.properties 4944 nov 25 01:05./sun/awt/print/resources/pdialog_ko.properties 3694 nov /03/06 button.cancel=avbryt button.help=hj\u00e4lp button.ok=ok button.print=skriv ut button.print.mnemonic=p button.save=spara... button.save.mnemonic=v checkbox.collate=sortera checkbox.collate.mnemonic=l checkbox.duplex=duplex checkbox.duplex.mnemonic=d. \td checkbox.titlesheet=titelsida: checkbox.titlesheet.mnemonic=t \td checkbox.tumble=tumble checkbox.tumble.mnemonic=u combobox.printers=[skapa lista \u00f6ver skrivare] dialog.title=skriv ut label.color=f\u00e4rg: label.commands=kommandon: label.commands.mnemonic=m label.copies=antal kopior: label.copies.mnemonic=c. \td label.landscape=liggande label.landscape.mnemonic=n\td label.options=alternativ: label.orientation=riktning: label.pages=sidor: label.paper=papper: Fil-vælger 1336 nov 25 01:05./com/sun/java/swing/plaf/motif/resources/motif.properties 1383 nov 25 01:05./com/sun/java/swing/plaf/motif/resources/motif_sv.properties 1148 nov 25 01:05./com/sun/java/swing/plaf/windows/resources/windows.properties 1158 nov 25 01:05./com/sun/java/swing/plaf/windows/resources/windows_sv.properties 1346 nov 25 01:05./com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties 1345 nov 25 01:05./com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties 193 nov 25 01:05./com/sun/jndi/cosnaming/jndiprovider.properties 943 nov 25 01:05./com/sun/jndi/ldap/jndiprovider.properties 2170 nov 25 01:05./javax/accessibility/resources/accessibility.properties 2443 nov 25 01:05./javax/accessibility/resources/accessibility_de.properties 2598 nov 25 01:05./javax/accessibility/resources/accessibility_es.properties 2785 nov 25 01:05./javax/accessibility/resources/accessibility_fr.properties 2538 nov 25 01:05./javax/accessibility/resources/accessibility_it.properties 3802 nov 25 01:05./javax/accessibility/resources/accessibility_ja.properties 3410 nov 25 01:05./javax/accessibility/resources/accessibility_ko.properties 2316 nov 25 01:05./javax/accessibility/resources/accessibility_sv.properties 2852 nov 25 01:05./javax/accessibility/resources/accessibility_zh_CN.properties 3043 nov 25 01:05./javax/accessibility/resources/accessibility_zh_TW.properties 3322 nov 25 01:05./javax/swing/plaf/basic/resources/basic.properties 3630 nov 25 01:05./javax/swing/plaf/basic/resources/basic_de.properties 3556 nov 25 01:05./javax/swing/plaf/basic/resources/basic_es.properties 3668 nov 25 01:05./javax/swing/plaf/basic/resources/basic_fr.properties 3488 nov 25 01:05./javax/swing/plaf/basic/resources/basic_it.properties 4438 nov 25 01:05./javax/swing/plaf/basic/resources/basic_ja.properties 3998 nov 25 01:05./javax/swing/plaf/basic/resources/basic_ko.properties 3450 nov 25 01:05./javax/swing/plaf/basic/resources/basic_sv.properties 3828 nov 25 01:05./javax/swing/plaf/basic/resources/basic_zh_CN.properties 3989 nov 25 01:05./javax/swing/plaf/basic/resources/basic_zh_TW.properties 1379 nov 25 01:05./javax/swing/plaf/metal/resources/metal.properties 1435 nov 25 01:05./javax/swing/plaf/metal/resources/metal_de.properties 1430 nov 25 01:05./javax/swing/plaf/metal/resources/metal_es.properties 1476 nov 25 01:05./javax/swing/plaf/metal/resources/metal_fr.properties 1424 nov 25 01:05./javax/swing/plaf/metal/resources/metal_it.properties 1639 nov 25 01:05./javax/swing/plaf/metal/resources/metal_ja.properties 1548 nov 25 01:05./javax/swing/plaf/metal/resources/metal_ko.properties 1396 nov 25 01:05./javax/swing/plaf/metal/resources/metal_sv.properties 1638 nov 25 01:05./javax/swing/plaf/metal/resources/metal_zh_CN.properties 1586 nov 25 01:05./javax/swing/plaf/metal/resources/metal_zh_TW.properties Videregående programmering Lektion Status for lokalisering af 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 mereUniversity of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11
DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void
Læs mereAnvendelse 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 mereKursus 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 mereEksempel: 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 mereAAU, 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 mereVideregå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 mereUgeseddel 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 mereTree 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 mereDM01 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 mereDANMARKS 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 mereUniversity 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 mereThreads 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 mereTest 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 mereJava 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 mereCivilingeniø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 mereBRP 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 mereAftenskole i programmering sæson Flere registreringer. Sæson 2 - Lektion 8
Flere registreringer Sæson 2 - Lektion 8 I sidste uge Vi så hvordan vi kan navigere med en UINavigationController Vi så hvordan vi lavede nogle hjælpe klasser med funktioner vi skulle bruge flere steder
Læs mereLø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 mereclass 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 mereKlasser og objekter. (Afsnit i manualen)
Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser
Læs mereO 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 mereHvad 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 mereb) 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 mereUniversity 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 mereSyntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik
Datalogi C, RUC Forelæsning 22. november 2004 Henning Christiansen Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Dagens program Hvad
Læs mereclass 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 mereSingleton 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 mereKlasser 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 merePrepared 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 mereUniversity 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 mereJacob 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 mereDATALOGI 0GB. Skriftlig eksamen mandag den 7. juni 2004
Københavns Universitet bacheloruddannelsen i datalogi side 1 af 6 DATALOGI 0GB Skriftlig eksamen mandag den 7. juni 2004 Dette opgavesæt består af 6 nummererede sider. Eksamensdeltagerne bør straks sikre
Læs mereParameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.
Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET. Der findes en tilsvarende artikel med
Læs mereSingleton 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 mereProgrammering 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 mereVideregå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 mereDM502. 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 mereUniversity 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 mereDatalogi 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 mereDATALOGI 0GB. Skriftlig eksamen tirsdag den 6. januar 2004
Københavns Universitet bacheloruddannelsen i datalogi side 1 af 6 DATALOGI 0GB Skriftlig eksamen tirsdag den 6. januar 2004 Dette opgavesæt består af 6 nummererede sider. Eksamensdeltagerne bør straks
Læs mereAbstrakte 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 mere02101 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 mereTilfæ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 mereBits, bit operationer, integers og floating point
Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter
Læs mereSWC 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 mereGrundlæ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 mereIntroduction til.net remoting i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i C# Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i C#. Den forudsætter kendskab
Læs mereOverblik. 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 mereRMI 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 mereRekursion og dynamisk programmering
Rekursion og dynamisk programmering Datastrukturer & Algoritmer, Dat C Forelæsning 12/10-2004 Henning Christiansen Rekursion: at en procedure kalder sig selv eller et antal metoder kalder hinanden gensidigt.
Læs mereForelæ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 mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%
Læs mereForelæ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 mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs mereDer er fejl i programmer. Ikke-trivielle programmer er næsten altid fejlbehæftede.
Udvidet Programmering 1999 Forelæsning 22, tirsdag 23. november 1999 Indkøring versus afprøvning af programmer Intern afprøvning Ekstern afprøvning Programkommentarer og dokumentation Programmering 1999
Læs mereSWC Elementer i klassedefinition
SWC Elementer i klassedefinition Indhold Eksempel... 2 Karakteristika for en klasse... 3 Karakteristika for et instance field... 4 Karakteristika for en constructor... 5 Karakteristika for en property...
Læs mereIndledning. 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 mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug
Læs mereProgrammering i C. Lektion 4. 5. december 2008
Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )
Læs mereXML 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 mereVideregående programmering i Java
Videregående programmering i Java Dag 5 Model View Controller arkitekturen Model View Controller arkitekturen (MVC) Evt.: Rekursion Læsning: VP 19 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html
Læs mereHvilket 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 mereSAX Simple API for XML.
SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller
Læs mere//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 mereCVS 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 mereParallelle algoritmer
Parallelle algoritmer 1 Von Neumann s model John von Neumann 1903-57 Von Neumanns model: Instruktioner og data er lagret i samme lager, og én processor henter instruktioner fra lageret og udfører dem én
Læs mereDM507 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 mereHvordan 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 mereDM507 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 mereOm binære søgetræer i Java
Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret
Læs mereimport 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 mereDM507 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 mereKursus 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 mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs mereEksamens spørgsmål i Java HTML - DataBase 3. Semester (i)
Eksamens spørgsmål i Java HTML - DataBase 3. Semester (i) 1: KLASSE METODE KONSTRUKTØR EKS. PÅ TYPE (VARIABLE) PUBLIC/PRIVATE OBJECT UD FRA KLASSE KALD METODE TILFØR PARAMETER TIL METODE RETURNERE VARIBEL.
Læs mereHashing og hashtabeller
Datastrukturer & Algoritmer, Datalogi C Forelæsning 12/11-2002 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave
Læs mereStudiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang
Læs mereHvad 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 mereA 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 mereDM507 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 mereDag 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 mereForelæ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 mereTredjepart 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 mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave
Læs mereProgrammering. 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 mereHanne Niels Edith Harald Carsten Jørgen Henrik.
Programmering 1999 Forelæsning 18, fredag 5 november 1999 Anvendelse af udvalgssortering Quicksort Rapportopgave Programmering 1999 KVL Side 18-1 Eksempel 2 på anvendelse af udvalgssortering Sortering
Læs merePrioritetskøer ved»heap«, simulering
Datastrukturer & Algoritmer, Datalogi C Forelæsning 25/11-2003 Prioritetskøer ved»heap«, simulering Yet another teknik til at repræsentere mængder Hvor hashtabellen fremviste: Konstant tid for finde og
Læs mereIntroduction til.net remoting i VB.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter
Læs mereHashing og hashtabeller
Datastrukturer & Algoritmer, Datalogi C Forelæsning 16/11-2004 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt
Læs mereKursus 02199: Programmering. Lidt om forelæseren. Velkommen til. Praktisk information: kursusaktiviteter. Praktisk information: forelæsninger
Velkommen til Kursus 02199: Programmering ved Anne Haxthausen IMM, DTU 4. september, 2001 1. Praktisk information 2. Introduktion til faget (a) kursusmål og motivation (b) hvad er en datamaskine, et program,
Læs mereMartin 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 mereGeografisk 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 mereSekvenser af længde mellem 1 og 4 ord repræsenteres ved en klasse Segment, som uden grundlæggende ser således ud:
Besvarelse af opgave til formuleret til øvelserne 10. september 2002 Datastrukturer og algoritmer Henning Christiansen 22/9-2002 Følgende er ikke en eksakt besvarelse af opgaven, idet den benytter hashtabeller
Læs mere#AlleKanKode. Lektion 2 - Konstanter og Variabler
#AlleKanKode Lektion 2 - Konstanter og Variabler Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger
Læs mereDM01 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 mereMålet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.
Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål
Læs mereBRP Tal. Om computer-repræsentation og -manipulation. Logaritmer
BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Objekters tilstand og opførsel BlueJ og Greenfoot Java Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Forskellige slags variabler Afleveringsopgave:
Læs mere