1 / 23

class VattenKraft{ public static void main(String[] args){ int num=150; int i, totflöde, maxflöde;

Uppgift 3 från Tenamen 2000-10-28 http://www.nada.kth.se/~vahid/prgm00/ovning6. 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;

brinda
Download Presentation

class VattenKraft{ public static void main(String[] args){ int num=150; int i, totflöde, maxflöde;

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. a) Skriv kod som summerar alla vattenflöden (dvs alla värden i fall). a) Skriv kod som summerar alla vattenflöden (dvs alla värden i fall). Index: 0 1 …..……… 148 149 fall 23 20 40 50 length 150 b) totflöde=0; for(i=0;i<fall.length();i++) totflöde += fall[i]; a) 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. 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? totflöde=0; while(i < fall.length){ totflöde += fall[i]; i++; }

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

  5. 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. a) ettFall = v[0]; System.out.println(… …ettFall.namn); v Instanse av Vector 0 1 …..……… 148 149 b) ettFall=v.elementAt(0); System.out.println(ettFall.namn); c) ettFall=(Vattenfall)v.elementAt[0]; System.out.println(ettFall.namn); flöde 100 flöde 20 namn namn ”vf1” ”vf1” ”vf1” ”vf4” d) ettFall=(Vattenfall)v.elementAt(0); System.out.println(ettFall.namn); flöde 50 namn flöde 60 ”vf3” ”vf9” 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 somläser ininformation från en fil om fåren ochfyller 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 ochreturnerar 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. a) Skriv den kod som saknas i konstruktorn i klassen Faar class Faar{ double ullängd; int födelseÅr; Faar(double ullängd, int år){ /* Konstruktor som ger instansvariablerna värden*/ } }//class Faar b) this.ullängd=ullängd; födelseÅr=år; a) ullängd=ullängd; födelseÅr=år; d) ullängd=this.ullängd; födelseÅr=år; c) ullängd=år; födelseÅr=ullängd;

  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; b) if(medelUllLängd==this.gräns) return true; else return false; d) if(medelUllLängd()==gräns) return true; else return false; c) if(this.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){ class Fem{ public static void main(String[] args){ numAktiv 0 1 Vulkan krafla Vulkan krafla = new Vulkan(true, 1984, 97.3); = new Vulkan(true, 1984, 97.3); GRÄNSVÄRDE 103 class Vulkan{ class Vulkan{ public static final double GRÄNSVÄRDE = 103; public static int numAktiv = 0; boolean aktiv; boolean aktiv; main int utbrottsÅr; int utbrottsÅr; args double tryck; double tryck; public Vulkan(boolean aktiv, int utbrottsÅr,… public Vulkan(boolean aktiv, int utbrottsÅr,… krafla vulkan …double tryck){ …double tryck){ boolean aktiv true this.aktiv = aktiv; this.aktiv = aktiv; int utbr… 1984 this.utbrottsÅr=utbrottsÅr; this.utbrottsÅr=utbrottsÅr; bouble tryck this.tryck = tryck; this.tryck = tryck; 97.3 if (aktiv){ numAktiv++; } if (aktiv){ numAktiv++; } this: aktiv true false //a //a Utbrt… 1984 0 }… 97.3 tryck 0.0 … }

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

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

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

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

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

  23. args

More Related