Presentation laddar. Vänta.

Presentation laddar. Vänta.

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.

Liknande presentationer


En presentation över ämnet: "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."— Presentationens avskrift:

1 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 2000-10-28 http://www.nada.kth.se/~vahid/prgm00/ovning6

2 a) Skriv kod som summerar alla vattenflöden (dvs alla värden i fall ). Index: 0 1 …..……… 148 149 fall a) Skriv kod som summerar alla vattenflöden (dvs alla värden i fall ). 23 20 40 50 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];

3 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?

4 Index: 0 1 …..……… 148 149 fall 100 20 40 50 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).

5 ”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 …..……… 148 149 20 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);

6 Uppgift 4 från Tenamen 2000-10-28 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

7 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;

8 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;

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

10 ... 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

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

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

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

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

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

16 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:

17 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 1984 97.3 numAktiv 01 GRÄNSVÄRDE 103 main vulkan boolean aktiv this: int utbr… bouble tryck true 1984 97.3 args

18 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 1984 97.3 Main vulkan boolean aktiv this: int utbr… bouble tryck true 1984 97.3 a) args

19 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 1984 97.3 numAktiv 01 GRÄNSVÄRDE 103 main vulkan boolean aktiv this: int utbr… bouble tryck true 1984 97.3 }…}… args

20 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 1984 97.3 numAktiv 01 GRÄNSVÄRDE 103 main }…}… args

21 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 1984 97.3 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

22 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 1984 97.3 Main vulkan Double kvot this: 0.94 b) args

23


Ladda ner ppt "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."

Liknande presentationer


Google-annonser