Class VattenKraft{ public static void main(String[] args){ int num=150; int i, totflöde, maxflöde; int[] fall = new int[num]; //vattenflödet i vattenfallen.

Slides:



Advertisements
Liknande presentationer
Repetition av språket Java
Advertisements

Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Fortsättningskurs i Programmering lektion 3 Johan Hjerling
Klassarv och inkapsling
Objektorienterad utveckling Lektion 2 Objekt, överlagring, överskuggning, klasshierarkier och dynamisk bindning KTH Peter Mozelius.
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik för K och Media
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Programkodens uppbyggnad
Att programmera i språket Java
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Exception Handling Kapitel 9. Agenda Exceptions try, throw and catch Skapa en egen exception-klass Multipla throw / catch Slänga vidare en exception Olika.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Föreläsning 11 Arrayer.
Objektorienterad programmering i Java
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Variabler: Datatyp - grundläggande : int, double, char, boolean eller
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Repetition inför slutprovet
Klasser och objekt Klasser, objekt och instansvariabler
int res2=Math.max(tal1,tal2);
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Föreläsning 10 Minnesbilder. Minnesbilder steg 1 char ch; int[] vek; Bil bilen; Bil int[] char ch vek bilen.
Programmeringsteknik för Media1 & K1
OOP F6:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList toString() – metoden.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 10 Stränghantering.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
TILLÄMPAD DATALOGI (TILDA) Övning 3
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
1. Ett problem/uppgift.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 1 Om kursen Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
INTRODUKTION TILL PROGRAMMERING
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
TILLÄMPAD DATALOGI (TILDA) Övningsgrupp 2 Marcus Hjelm
TILLÄMPAD DATALOGI (TILDA) Övning 1 Marcus Hjelm
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
TILLÄMPAD DATALOGI (TILDA) Övning 2
TILLÄMPAD DATALOGI (TILDA) Övning 2
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 5 Klasser och instanser
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
1 Mer om metoder, variabler, klasser och objekt. Kursboken: - Kapitel 6 - Kapitel 8.
Föreläsning 3: Booleans, if, switch
Presentationens avskrift:

class VattenKraft{ public static void main(String[] args){ int num=150; int i, totflöde, maxflöde; int[] fall = new int[num]; //vattenflödet i vattenfallen Vector v = new Vector(); Vattenfall ettFall; // Koden i a-, b- och c-delen hamnar här. } class Vattenfall{ int flöde; String namn; public Vattenfall(int flöde, String namn){ this.flöde = flöde; this.namn = namn; } }//class Vattenfall Uppgift 3 från Tenamen

a) Skriv kod som summerar alla vattenflöden (dvs alla värden i fall ). Index: 0 1 …..……… fall a) Skriv kod som summerar alla vattenflöden (dvs alla värden i fall ) length 150 a) totflöde=0; for(i=0;i < fall.length;i++) totflöde += fall[i]; b) totflöde=0; for(i=0;i<fall.length();i++) totflöde += fall[i]; c) totflöde=0; for(i=0;i<fall.length;i++) totflöde= fall.elementAt(i); d) totflöde=0; for(i=0;i<fall.length-1;i++) totflöde += fall[i];

totflöde=0; while(i < fall.length){ totflöde += fall[i]; i++; } En till FEL lösning: totflöde=0; i=0; While(i<fall.length){ i++; totflöde += fall[i]; } varför? Betrakta koden ovan kan man ändra genom att byta plats mellan två rader så att det blir en RÄTT lösning?

Index: 0 1 …..……… fall length 150 c) System.out.println(… …fall[bakvänd]); d) for(i=0;i > fall.length-1;i++) System.out.println(… …fall[i]); b) for(i=fall.length-1;i>=0;i--) System.out.println(… …fall[i]); a) for(i=fall.length;i>0;i--) System.out.println(… …fall[i]); b) Skriv kod som skriver ut alla flöden i omvänd ordning (dvs det sista flödet i fall ska skrivas ut först).

”vf1” c) ettFall= (Vattenfall)v.elementAt[0]; System.out.println( ettFall.namn); b) ettFall=v.elementAt(0); System.out.println(ettFall.namn); a) ettFall = v[0]; System.out.println(… …ettFall.namn); c) Anta att flera element (av typen Vattenfall) lagts in i vektorn v. Skriv kod som skriver ut namnet på Vattenfallet på den första positionen i vektorn. v 0 1 …..……… flöde namn ”vf4” 100 flöde namn ”vf1” 60 flöde namn ”vf9” 50 flöde namn ”vf3” Instanse av Vector d) ettFall= (Vattenfall)v.elementAt(0); System.out.println( ettFall.namn);

Uppgift 4 från Tenamen class Faarskallen{ public static void main(String[] args){ FaarHage hagen = new FaarHage(200); if (hagen.klipp(40)) System.out.println("Klipp fåren!!!"); } }//class Faarskallen class FaarHage{ public Faar[] bä; private int antal; public FaarHage(int n){ /*konstruktor som ger värden till instansvariablerna och som läser in information från en fil om fåren och fyller bä med får*/ } double medelUllLängd(){ /* Metod som beräknar medelullängden på alla fåren i hagen*/ } boolean klipp(int gräns){ /*metod som jämför medelullängden med gräns och returnerar true om fåren ska klippas. Om medellängen överstiger gränsvärdet ska fåren klippas.*/ } }//class FaarHage class Faar{ double ullängd; int födelseÅr; Faar(double ullängd, int år){ /* Konstruktor som ger instansvariablerna värden*/ } }//class Faar

class Faar{ double ullängd; int födelseÅr; Faar(double ullängd, int år){ /* Konstruktor som ger instansvariablerna värden*/ } }//class Faar a) Skriv den kod som saknas i konstruktorn i klassen Faar c) ullängd=år; födelseÅr=ullängd; a) ullängd=ullängd; födelseÅr=år; d) ullängd=this.ullängd; födelseÅr=år; b) this.ullängd=ullängd; födelseÅr=år;

b) Skriv den kod som saknas i metoden klipp(). … double medelUllLängd(){ /* Metod som beräknar medelullängden på alla fåren i hagen*/ } … boolean klipp(int gräns){ /*metod som jämför medelullängden med gräns och returnerar true om fåren ska klippas. Om medellängen överstiger gränsvärdet ska fåren klippas.*/ } a) medelUllLängd == gräns; c) if(this.medelUllLängd==gräns) return true; else return false; b) if(medelUllLängd==this.gräns) return true; else return false; d) if(medelUllLängd()==gräns) return true; else return false;

Uppgift 5 från Tenamen class Fem{ public static void main(String[] args){ Vulkan krafla = new Vulkan(true, 1984, 97.3); krafla.snartUtbrott(); } }//class Fem fortsätter…

... fortsättning class Vulkan{ public static final double GRÄNSVÄRDE = 103; public static int numAktiv = 0; boolean aktiv; int utbrottsÅr; //årtal för senaste utbrott double tryck; //inre tryck i vulkanen public Vulkan(boolean aktiv, int utbrottsÅr, double tryck){ this.aktiv = aktiv; this.utbrottsÅr=utbrottsÅr; this.tryck = tryck; if (aktiv) numAktiv++; //a } public void snartUtbrott(){ double kvot = tryck/GRÄNSVÄRDE; if (kvot>1) System.out.println("Vulkanen har ett utbrott NU!!"); else if (kvot>0.7) System.out.println("Troligtvis utbrott snart"); else System.out.println("Ta det LUNGT..."); //b } }//class Vulkan

Klasser och klassvariabler Metodanrop och lokala variabler Objekt (instans ) och instansvariabler

class Fem{ … }//class Fem class Vulkan{ … }

Klasser och klassvariabler Metodanrop och lokala variabler Objekt (instans ) och instansvariabler class Fem class Vulkan

class Fem{ … }//class Fem class Vulkan{ public static final double GRÄNSVÄRDE = 103; public static int numAktiv = 0; … }//class Vulkan

Klasser och klassvariabler Metodanrop och lokala variabler Objekt (instans ) och instansvariabler class Fem class Vulkan int GRÄNSVÄRDE: 103 int numAktiv : 0

class Fem{ public static void main(String[] args){ Vulkan krafla = new Vulkan(true, 1984, 97.3); HÄR BLIR DET EN ANROP TILL KONSTRUKTOREN FÖR KLASSEN VULKAN, OBSERVERA ATT VÄRDENA TRUE, 1984 OCH 97.3 SKICKAS TILL KONSTRUKTOREN SOM PARAMETER:

class Fem{ public static void main(String[] args){ Vulkan krafla = new Vulkan(true, 1984, 97.3); class Fem{ public static void main(String[] args){ class Vulkan{ public static final double GRÄNSVÄRDE = 103; public static int numAktiv = 0; boolean aktiv; int utbrottsÅr; double tryck; public Vulkan(boolean aktiv, int utbrottsÅr,… Vulkan krafla = new Vulkan(true, 1984, 97.3); this.aktiv = aktiv; this.utbrottsÅr=utbrottsÅr; this.tryck = tryck; if (aktiv){ numAktiv++; } //a …}…} }…}… …double tryck){ class Vulkan{ int utbrottsÅr; double tryck; public Vulkan(boolean aktiv, int utbrottsÅr,… this.aktiv = aktiv; this.utbrottsÅr=utbrottsÅr; this.tryck = tryck; if (aktiv){ numAktiv++; } //a …double tryck){ krafla aktiv false Utbrt… 0 tryck 0.0 boolean aktiv; true numAktiv 01 GRÄNSVÄRDE 103 main vulkan boolean aktiv this: int utbr… bouble tryck true args

Klasser och klassvariabler Metodanrop och lokala variabler Objekt (instans ) och instansvariabler class Fem class Vulkan int GRÄNSVÄRDE: 103 int numAktiv : 1 krafla aktiv false Utbrt… 0 tryck 0.0 true Main vulkan boolean aktiv this: int utbr… bouble tryck true a) args

class Fem{ public static void main(String[] args){ Vulkan krafla = new Vulkan(true, 1984, 97.3); class Vulkan{ public static final double GRÄNSVÄRDE = 103; public static int numAktiv = 0; boolean aktiv; int utbrottsÅr; double tryck; public Vulkan(boolean aktiv, int utbrottsÅr,… this.aktiv = aktiv; this.utbrottsÅr=utbrottsÅr; this.tryck = tryck; if (aktiv){ numAktiv++; } //a …}…} }…}… …double tryck){ krafla aktiv false Utbrt… 0 tryck 0.0 true numAktiv 01 GRÄNSVÄRDE 103 main vulkan boolean aktiv this: int utbr… bouble tryck true }…}… args

class Fem{ public static void main(String[] args){ Vulkan krafla = new Vulkan(true, 1984, 97.3); class Vulkan{ public static final double GRÄNSVÄRDE = 103; public static int numAktiv = 0; boolean aktiv; int utbrottsÅr; double tryck; public Vulkan(boolean aktiv, int utbrottsÅr,… this.aktiv = aktiv; this.utbrottsÅr=utbrottsÅr; this.tryck = tryck; if (aktiv){ numAktiv++; } //a …}…} }…}… …double tryck){ krafla aktiv false Utbrt… 0 tryck 0.0 true numAktiv 01 GRÄNSVÄRDE 103 main }…}… args

class Fem{ public static void main(String[] args){ Vulkan krafla = new Vulkan(true, 1984, 97.3); class Vulkan{ public static final double GRÄNSVÄRDE = 103; public static int numAktiv = 0; int utbrottsÅr; double tryck; public Vulkan(boolean aktiv, int utbrottsÅr,… …double tryck){…} krafla.snartUtbrott(); public void snartUtbrott(){ double kvot = tryck/GRÄNSVÄRDE; if (kvot>1) System.out.println("Vulkanen har ett utbrott NU!”); else if (kvot>0.7) System.out.println("Troligtv utbrott snart"); else System.out.println("Ta det LUNGT..."); //b } } krafla aktiv false Utbrt… 0 tryck 0.0 true numAktiv 01 GRÄNSVÄRDE 103 main krafla.snartUtbrott(); public void snartUtbrott(){ double kvot = tryck/GRÄNSVÄRDE; if (kvot>1) else if (kvot>0.7) System.out.println("Troligtv utbrott snart"); //b snartUtbrott double kvot 0.94 this: } args

Klasser och klassvariabler Metodanrop och lokala variabler Objekt (instans ) och instansvariabler class Fem class Vulkan int GRÄNSVÄRDE: 103 int numAktiv : 1 krafla aktiv false Utbrt… 0 tryck 0.0 true Main vulkan Double kvot this: 0.94 b) args