Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Tabeller av objekter Klassen ArrayList
C++ for Java-programmerere
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Høgskolen i Oslo Webprogrammering Grunnleggende PHP.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
Kontrollstrukturer (Kapittel 3)
Uke 8 - Mer om: Objekter, klasser og pekere
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
1 Java 6 Mer om metoder Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Samarbeid mellom objekter
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Java 4 Mer om forgreninger While-løkker Ole Christian Lingjærde
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
IS-102 Klassedefinisjoner
C# for javaprogrammerere
En gang til!? .
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
INF150 Programmering mandag 11.9
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Objektorientert programmering
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Uke 7 - del I: Repetisjon del II: Objekter, klasser og pekere 30 sept. 2003, Arne Maus Inst. for informatikk, UiO.
Java 3 Mer om uttrykk Terminal I/O Forgreninger
Java 11 Programmering med og uten objekter: hva er forskjellen?
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Programmering i Java tilpasset undervisning våren 2009 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  Kan sees på som det samme. Personen Per kan være både et objekt og en instans av klassen.
Programmering i Java versjon september 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Inf1000 (Uke 5) Arrayer, filer og tekst
Kapittel 5 Vilkårssetningar og løkker. 5.1 Boolske uttrykk George Boole ( ), britisk matematikar Utvikla teori om logikk ved bruk av symbol i.
Variabler, datatyper og uttrykk
IS-102 Interaksjon med objekter
Utskrift av presentasjonen:

Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5 Valg som kontrollstruktur Kontrollstrukturer side 2 Klassen Kalkulator med klientprogram side 3-6 Blokker inne i metoder side 7 if-setningen har to former side 8 Klammeparenteser og innrykk side 9 Nøstet if og flervalgsetninger side Beslutningstabeller side 13 Logiske uttrykk side Sammenligning av strenger side Å sammenligne beregnede desimaltallverdier side 20 switch-setningen side 21

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 2 Kontrollstrukturer En algoritme er et begrenset og ordnet sett med veldefinerte regler for løsning av et problem. Tre kategorier rekkefølge eller kontrollstrukturer: –sekvens (alle klientprogram hittil) –valg (if-setningen) –løkke (while-setningen, se kapittel 6) Aktivitetsdiagram illustrerer kontrollstrukturer. bestemt rekkefølge

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 3 Klassediagram og to mulige aktivitetsdiagram for et kalkulator-objekt Kalkulator tall1 tall2 finnTall1 finnTall2 settTall beregnSum beregnDifferanse beregnProdukt beregnKvotient les to tall kalkus.beregnSum() skriv ut svaret Kalkulator kalkus = new Kalkulator(tall1, tall2) skriv ut svaret kalkus. beregnDifferense() kalkus. beregnSum() [skal legge sammen] [skal ikke legge sammen] les to tall Kalkulator kalkus = new Kalkulator(tall1, tall2)

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 4 Klassen Kalkulator class Kalkulator { private double tall1 = 0; private double tall2 = 0; public Kalkulator(double startTall1, double startTall2) { tall1 = startTall1; tall2 = startTall2; } public double finnTall1() { return tall1; } public double finnTall2() { return tall2; } public void settTall(double nyttTall1, double nyttTall2) { tall1 = nyttTall1; tall2 = nyttTall2; } public double beregnSum() { return tall1 + tall2; } public double beregnDifferanse() { return tall1 - tall2; } public double beregnProdukt() { return tall1 * tall2; } public double beregnKvotient() { /* Både teller og nevner 0: * Resultat: Double.NaN ("not-a-number") * Bare nevner 0: * Resultat: Double.NEGATIVE_INFINITY * eller Double.POSITIVE_INFINITY. * Dette er klassekonstanter i klassen java.lang.Double. * Disse verdiene må brukes ved eventuell sammenlikning, * ved utskrift blir "NaN" og "Infinity" skrevet ut. */ return tall1 / tall2; }

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 5 Klientprogram med valg import static javax.swing.JOptionPane.*; class TestKalkulator1 { public static void main(String[] args) { /* Innlesing av data */ String tall1Lest = showInputDialog("Første tall: "); String tall2Lest = showInputDialog("Andre tall: "); double tall1 = Double.parseDouble(tall1Lest); double tall2 = Double.parseDouble(tall2Lest); int svar = showConfirmDialog(null, "Skal tallene legges sammen? ", "Kalkulator", YES_NO_OPTION); /* Beregning av resultater */ Kalkulator kalkus = new Kalkulator(tall1, tall2); double beregnetSvar; char operator; if (svar == YES_OPTION) { // Yes er trykket beregnetSvar = kalkus.beregnSum(); operator = '+'; } else { // No eller Esc er trykket, eller dialogen er lukket beregnetSvar = kalkus.beregnDifferanse(); operator = '-'; } /* Utskrift av resultater */ String resultat = "Vi beregner: " + kalkus.finnTall1() + " " + operator + " " + kalkus.finnTall2(); resultat += "\nSvaret er " + beregnetSvar; showMessageDialog(null, resultat); } valget må formuleres som et ja/nei-spørsmål

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 6 Dialogboksene i programmet foran showInputDialog("Første tall: "); showInputDialog("Andre tall: "); showConfirmDialog(null, "Skal tallene legges sammen? ", "Kalkulator", YES_NO_OPTION); showMessageDialog(null, resultat);

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 7 Blokker inne i metoder Lokale variabler er variabler deklarert inne i metoder. Definisjonsområdet til en lokal variabel er resten av den blokken der variabelen er deklarert. En metode kan inneholde mange blokker inne i hverandre. Vi kan deklarere variabler inne i indre blokker. Generelt bør vi deklarere lokale variabler i nærheten av der vi bruker dem. Til høyre et alternativt kalkulator-program. Definisjonsområdet til variablene er vist. Gjør oppgave 2 side 177.

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 8 if-setningen har to former OBS! Likhet skrives med to likhetstegn. [logisk uttrykk][ikke (logisk uttrykk)] [logisk uttrykk] [ikke (logisk uttrykk)] if (logisk uttrykk) setning1 else setning2 if (logisk uttrykk) setning1 Et logisk uttrykk kan være en logisk variabel eller en sammenligning, eksempler: a > 10 antJenter < antGutter antMenn == antKvinner

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 9 Klammeparenteser og innrykk if (logisk uttrykk) setning1 else setning2 Hvis setning1 og/eller setning2 består av mer enn en enkelt setning, må setningene omsluttes av klammeparenteser. Dersom setning1 og/eller setning2 består av bare en enkelt setning, er det ikke nødvendig med klammeparenteser. Av sikkerhetsgrunner bør en bruke klammeparenteser uansett, også i dette tilfellet, dersom setningen ikke får plass på samme linje som if og/eller else. Eksempel, vi har oppdaget at vi også skal øke b med 1 dersom a>b: Utgangspunkt:Feilretting: if (a > b) sum += a; sum += a; b++; Hvorfor blir ”feilrettingen” ikke riktig? Tror du sjansen for å skrive riktig er større dersom utgangspunktet er: –if (a > b) sum += a;I tilfelle hvorfor? Diskusjon / konklusjon? Gjør oppgave 2 side 181.

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 10 Nøstet if og flervalgsetninger Eksempel: if (temperatur > 0) { System.out.println(“Varmegrader”); } if (temperatur == 0) { System.out.println(“Null grader”); } if (temperatur < 0) { System.out.println(“Kuldegrader”); } I visse tilfeller (når?) unødvendige tester. Sparer unødvendige tester: if (temperatur > 0) { System.out.println(“Varmegrader”); } else { if (temperatur == 0) { System.out.println(“Null grader”); } else { System.out.println(“Kuldegrader”); } // slutt på innerste if-else-setning } // slutt på ytterste if-else-setning Kan også skrive: if (temperatur > 0) System.out.println(“Varmegrader”); else if (temperatur == 0) System.out.println(“Null grader”); else System.out.println(“Kuldegrader”);

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 11 Å gi brukeren valget mellom flere alternativer String[] muligheter = {"pluss", "minus", "gange", "dele"}; int valg = showOptionDialog(null, "Velg operator", "Fire regneoperasjoner", 0, PLAIN_MESSAGE, null, muligheter, muligheter[0]); Vis programliste 5.3, side 184.

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 12 Hva er forskjellen mellom følgende to kodebiter? int a = -10; int b = 20; if (a > 0) { if (b > 10) b = 10; } else a = 0; System.out.println(a + " " + b); a = -10; b = 20; if (a > 0) if (b > 10) b = 10; else a = 0; System.out.println(a + " " + b); Dersom du bruker flere if-setninger inne i hverandre (nøstet if), og en else- blokk ikke tilhører den nærmeste if’en foran, må dette markeres med {}. Gjør oppgave 2 side

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 13 Beslutningstabeller En karakter på en prøve beregnes etter følgende beslutningstabell: poeng karakter A 86-95B 71-85C 55-70D 36-54E 0-35F Oppgave: Skriv innholdet i metoden finnKarakter(): class Eksamensresultat { private int poeng; public Eksamensresultat(int startPoeng) { poeng = startPoeng; } public int finnPoeng() { return poeng; } public char finnKarakter() { // returnerer 'X' hvis ugyldig poengsum... fyll inn det som mangler her... }

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 14 Logiske uttrykk Et logisk uttrykk har verdien sann (true) eller usann (false). IKKE-operatoren ! snur verdien til uttrykket. (!true) er lik false (!false) er lik true Merk skrivemåten: if (funnetPerson)..... // slik, men ikke slik: if (finnetPerson == true).... if (!funnetBy).... // slik, men ikke slik: if (funnetBy == false)... Enkle logiske uttrykk lages ved å bruke sammenligningsoperatorene: <mindre enn <=mindre enn eller likEksempler: >større enn antKilo > 10 >=større enn eller lik !=ikke lik(pris * antall) != 100 ==liktall1 + tall2 == tall3 + tall4 instanceof klassetilhørighet person instanceof Student Sammensatte logiske uttrykk lages ved å sette sammen enkle logiske uttrykk ved hjelp av operatorene: &&ogantall > 30 && antall < 50 ||ellerantall = 50 Se oversikt over operatorer, tabell side 190.

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 15 Beregning av et komplisert logisk uttrykk a >= 0 && a = 10 && a <= 15 || a == 20 santusantsantusant a er lik 16 Gjør alle oppgavene på side 192.

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 16 Forkortet beregning Logiske uttrykk som inneholder && eller || beregnes ved å bruke teknikken ”forkortet beregning”. Beregningen avsluttes så fort resultatet er bestemt. Operatoren && (”og”) mellom uttrykkene: –Fortsett beregningen så lenge uttrykkene er sanne. –Beregningen avsluttes dersom et ikke-sant uttrykk påtreffes. Operatoren || (”eller”) mellom uttrykkene: –Fortsett beregningen så lenge uttrykkene er usanne. –Beregningen avsluttes dersom et sant uttrykk påtreffes. Eksempel: –if (tall >= 0 && Math.sqrt(tall) < grense).... Rekkefølgen på sammenligningene kan ikke byttes om. Da risikerer vi å forsøke å beregne kvadratroten til et negativt tall.

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 17 Sammenligning av strenger To strenger er gitt: String navn1 = "Anne Beate"; String navn2 = "Unni"; Uttrykket (navn1 == navn2) … sammenligner referansene. Likhet dersom referansene er like, det vil si dersom de peker til det samme objektet. Må bruke metoder for å sammenligne innholdet i objektene. Klassen String tilbyr metoder for å sammenligne strenger. Vi bruker metoden equals(): if (navn1.equals(navn2)) System.out.println("Navnene er like."); else System.out.println("Navnene er ikke like."); Utskrift: Navnene er ikke like. Vi bruker metoden compareTo(): int resultat = navn1.compareTo(navn2); if (resultat < 0) System.out.println(navn1 + " kommer først."); else if (resultat > 0) System.out.println(navn2 + " kommer først."); else System.out.println("Navnene er like."); Utskrift: Anne Beate kommer først.

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 18 Sammenligningsmetoder i klassen String Klassen String tilbyr følgende metoder for sammenligning: –public int compareTo(String denAndreStrengen) –public boolean equals(Object detAndreObjektet) –public boolean equalsIgnoreCase(String denAndreStrengen) –public int compareToIgnoreCase(String denAndreStrengen) Sammenligning skjer i henhold til Unicode-rekkefølgen. compareTo()-metodene returnerer negativ verdi dersom strengen meldingen sendes til, ligger foran strengen som sendes inn som argument til metoden, positiv dersom den ligger etter, og 0 dersom de er like. På grunn av æ, ø og å fungerer ikke compareTo()-metodene for norsk tekst. De norske tegnene kan lukes ut og spesialbehandles med flervalg- setninger.

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 19 Råd og tips om strenger Dersom tekstene som skal sammenlignes leses inn fra brukeren, bør de “trimmes” før sammenligning, det vil si at blanke i begynnelsen og slutten av teksten fjernes: String navn = JOptionPane.showInputDialog("Navn: "); navn = navn.trim(); Vær obs på kompilatorens ”intelligens”. Studer følgende kodebit: String navn1 = "Ole Petter"; String navn2 = "Ole Petter"; // vi lager et objekt til, eller? if (navn1 == navn2) System.out.println("Likhet"); // prøver sammenligningsoperatoren else System.out.println("Ikke likhet"); Utskriften blir “Likhet”. Hvorfor? Årsaken er at Java-kompilatoren observerer at de to tekstene er like og derfor kun lager ett objekt. Gjør oppgaven side 194.

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 20 husk å kontrollere mot absoulttverdien! Å sammenligne beregnede desimaltallverdier Hva blir verdien av tall3 etter at følgende kodebit er utført: double tall1 = 1.0e20; double tall2 = tall ; double tall3 = tall2 - tall1; Svar: tall3 blir 0. Hvorfor? –1 + 1,0·10 20 = 1, · –Datatypen double klarer bare ca. 15 signifikante sifre. –Mister derfor verdien 1 som vi prøver å addere til det kjempestore tallet. Bruk aldri operatorene == og != for å sammenligne resultater fra beregninger med desimaltall. Kontroller heller at forskjellen mellom tallene er mindre enn en gitt toleranse: final double toleranse = ; // størrelsen i forhold til tallene som sammenlignes if (Math.abs(tall1 - tall2) < toleranse) System.out.println("Tallene er like nok"); else System.out.println("Tallene er å betrakte som forskjellige.");

Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk Kapittel 5, side 21 switch-setningen... les inn plassering fra brukeren... switch (plassering) { case 1: System.out.println("Det ble gull!"); break; case 2: System.out.println("Det ble sølv!"); break; case 3: System.out.println("Det ble bronse!"); break; case 4: /* ikke break */ case 5: /* ikke break */ case 6: System.out.println("Det ble poengplass!"); break; default: int lykketall = (int) (100 * Math.random() + 1); System.out.println("Takk for hederlig innsats!"); System.out.println("Du får et lykketall: " + lykketall); break; } switch-setningen kan brukes dersom hvert tilfelle i en flervalg- setning svarer til en bestemt heltallsverdi eller et tegn. Eksempel til høyre. Hver enkelt case-etikett må representere forskjellige konstantuttrykk, kun ett uttrykk for hver etikett. Kan ikke oppgi intervaller eller flere enkeltverdier. Bare uthopp dersom break påtreffes. Gjør oppgave 1 side 197.