Sida 1/8 Tentamen Grundläggande programmering i Java A 5p, DTAA32 2002-03-22 Lösningsförslag Uppgift 1 ( 3p ) Utskriften blir: Skriv in ett tal 24 47 48 intal=471 Uppgift 2 ( 6p ) a.) b.) c.) d.) e.) falskt sant sant sant falskt
Sida 2/8 Uppgift 3 ( 7p ), en möjlig lösning class Arr private int[] tabell; private int antal; // behövs beroende av om inte hela tabellen utnyttjas public Arr(int[] tab, int ant) tabell = tab; antal = ant; //konstruktor public double getmedelvarde() int i; double sum = 0; for ( i = 0 ; i < antal ; i++ ) sum = sum + tabell[i]; sum = sum/antal; return sum; //metod - getmedelvarde public boolean findvarde(int sokt) int i; for( i = 0 ; i<antal ; i++ ) if( sokt == tabell[i] ) return true; return false; //metod - findvarde // class Arr class ArrTest public static void main(string[] arg) int[] t=1,2,3,4,5,6,7,8,9,10; Arr a=new Arr(t,10); if( a.findvarde(6) ) System.out.println( "värdet: 6 finns" ); else System.out.println( "värdet: 6 finns inte" ); if( a.findvarde(12) ) System.out.println( "värdet: 12 finns" ); else System.out.println( "värdet: 12 finns inte" ); System.out.println( "medelvärde=" + a.getmedelvarde() ); //metod main // class ArrTest Anm: Om deklarationen av tabellen i klassen ArrTest görs så här: int[] t=new int[15]; och man lägger in 10 värden t.ex.: for(int k=0;k<10;k++)t[k]=k+1; då får man fel medelvärde om man inte har med tabellängden som parameter i konstruktorn utan skulle använda tabell.length istället i metoderna för klassen Arr.
Sida 3/8 Uppgift 4 ( 15p ) a.) En möjlig lösning Person String persnr String namn String gatuadress int postnr String ort Person( String, String, String, int, String ) String getpersnr() String getnamn() setnamn(string) String getgatuadr() int getpostnr() String getort() Lärare String rumsnr Lärare( String, String, String, int, String, String ) Student String sgatuadress int spostnr String sort Student( String, String, String, int, String, String, int, String ) String getsgatuadress() int getspostnr() String getsort() Handledare int int timmar lon Handledare( String, String, String, int, String, int, int ) int getlon() int getperlon()
Sida 4/8 class Person private String persnr; private String namn; private String gatuadress; private int postnr; private String ort; public Person(String persnr,string namn,string gatuadress,int postnr,string ort) this.persnr = persnr; this.namn = namn; this.gatuadress = gatuadress; this.postnr = postnr; this.ort = ort; // konstruktor public String getpersnr() return persnr; public String getnamn() return namn; public void setnamn( String namn ) this.namn=namn; public String getgatuadress() return gatuadress; public int getpostnr() return postnr; public String getort() return ort; //class - Person class Lärare extends Person private String rumsnr; public Lärare( String persnr, String namn, String gatuadress, int postnr, String ort, String rumsnr ) super( persnr, namn, gatuadress, postnr, ort ); this.rumsnr = rumsnr; // konstruktor // class - Lärare
Sida 5/8 class Handledare extends Person private int timmar; private int lon; public Handledare( String persnr, String namn, String gatuadress, int postnr, String ort, int timmar, int lon ) super( persnr, namn, gatuadress, postnr, ort ); this.timmar = timmar; this.lon = lon; //konstruktor public int getlon() return lon; public int getperlon() return lon*timmar; //class - Handledare class Student extends Person private String sgatuadress; private int spostnr; private String sort; public Student( String persnr, String namn, String gatuadress, int postnr, String ort, String sgatuadress, int spostnr, String sort ) super( persnr, namn, gatuadress, postnr, ort ); this.sgatuadress = sgatuadress; this.spostnr = spostnr; this.sort = sort; // konstruktor public String getsgatuadress() return sgatuadress; public int getspostnr() return spostnr; public String getsort() return sort; //class - Student
Sida 6/8 Uppgift 5( 10p ) import java.util.vector; class ArtikelContainer private Vector vek; public ArtikelContainer () vek = new Vector(); //konstruktor public void addartikel( Artikel art ) vek.addelement(art); //method addartikel public Artikel soekartikel( int a ) int i; for( i = 0 ; i < vek.size() ; i++ ) if( ( (Artikel)vek.elementAt(i) ).getartnr() == a ) return (Artikel)vek.elementAt(i); return null; //method soekartikel public void skriv() System.out.println( "\n" ); for( int i = 0 ; i < vek.size() ; i++ ) ( (Artikel)vek.elementAt(i) ).skriv(); //method skriv //class - ArtikelContainer
Sida 7/8 // klassen Artikel, given i uppgiften class Artikel private int artnr; private String namn; private double pris; private int lager; public Artikel( int artnr, String namn, double pris, int lager ) this.artnr = artnr; this.namn = namn; this.pris = pris; this.lager = lager; public int getartnr() return artnr; public void setnamn( String namn ) this.namn = namn; public String getnamn() return namn; public void setpris( double pris ) this.pris = pris; public double getpris() return pris; public void setlager( int lager ) this.lager = lager; public int getlager() return lager; public void skriv() System.out.println( "\nartikelnr " + artnr ); System.out.println( "Namn " + namn ); System.out.println( "Pris " + pris ); System.out.println( "Lager " + lager ); //Artikel
Sida 8/8 class ArtikelTest public static void main( String[] a ) Artikel a1 = new Artikel(10,"Skruv",12.20,5); Artikel a2 = new Artikel(11,"Spik",12.5,4); Artikel a3 = new Artikel(12,"hammare",120.5,6); Artikel a4 = new Artikel(13,"hovtång",125.5,7); Artikel a5 = new Artikel(14,"Modem",200.5,8); ArtikelContainer container=new ArtikelContainer(); container.addartikel(a1); container.addartikel(a2); container.addartikel(a3); container.addartikel(a4); container.addartikel(a5); container.skriv(); Artikel funnen; funnen = container.soekartikel(10); if( funnen!= null ) System.out.println( "\nartikel 10 finns det är denna:" ); funnen.skriv(); else System.out.println( "\nartikel 10 finns inte i lager" ); funnen = container.soekartikel(100); if( funnen!= null ) System.out.println( "\nartikeln 100 finns det är denna:" ); funnen.skriv(); else System.out.println( "\nartikeln 100 finns inte i lager" ); // method - main //class - ArtikelTest