![]() Ласло Краус |
Програмирање на језику Java - колоквијуми Први колоквијум Друга група 3. 12. 2005 |
---|
Саставити на језику Java следећи пакет класа:
K(
r,
h)
.
Грешке пријављивати изузецима. У класама за изузетке предвидети састављање текста поруке.
Саставити на језику Java класу са главним програмом који:
На располагању стоји готова класа Citaj
у безименом пакету која садржи заједничке методе за читање свих стандардних типова података (датотека \\Xs200−2\Nastava\ProgJava\Citaj.java
).
studentx
(x
је број радне станице за којим се ради). Лозинка на свакој радној станици је student
.N:
(Nastava
on
\\Xs200-2
) у каталогу ObjektnoProg\RSx
(x
је број радне станице за којим се ради).// GPredmeti.java package predmeti; public abstract class GPredmeti extends Exception { private String por; protected GPredmeti (String p) { por = p; } public String toString () { return "*** " + por; } } // GPun.java package predmeti; public class GPun extends GPredmeti { public GPun () { super ("Stek je pun!"); } } // GPrazan.java package predmeti; public class GPrazan extends GPredmeti { public GPrazan () { super ("Stek je prazan!"); } } // Predmet.java package predmeti; public abstract class Predmet implements Cloneable { public abstract double vel (); public Object clone () { try { return super.clone (); } catch (CloneNotSupportedException g) { return null; } } } // Kupa.java package predmeti; public class Kupa extends Predmet { private double r, h; public Kupa (double rr,double hh) { r = rr; h = hh; } public Kupa () { r = h = 1; } public double vel () { return r * r * Math.PI * h / 3; } public String toString () { return "K(" + r + "," + h + ")"; } } // Stek.java package predmeti; public class Stek implements Cloneable { private Predmet[] niz; private int vrh; public Stek (int k) { niz = new Predmet [k]; } public Stek () { this (3); } public int vel () { return vrh; } public Stek stavi (Predmet p) throws GPun { if (vrh == niz.length) throw new GPun (); niz[vrh++] = p; return this; } public Predmet uzmi () throws GPrazan { if (vrh == 0) throw new GPrazan (); return niz[--vrh]; } public Object clone () { Stek s = null; try { s = (Stek) super.clone (); s.niz = new Predmet [niz.length]; for (int i=0; i<vrh; s.niz[i]=(Predmet)niz[i++].clone()); } catch (CloneNotSupportedException g) {} return s; } public String toString () { String s = ""; for (int i=vrh-1; i>=0; s+=niz[i--]+" "); return s; } } // PredmetiT.java import predmeti.*; public class PredmetiT { public static void main (String[] varg) { System.out.print ("Kapacitet? "); Stek s = new Stek (Citaj.Int ()); double sr = 0; int n = 0; radi: while (true) { try { System.out.print ("Izbor (S-stavi, U-uzmi, Z-zavrsi)? "); switch (Citaj.Char ()) { case 'S': case 's': System.out.print ("r,h? "); s.stavi (new Kupa (Citaj.Double(), Citaj.Double())); break; case 'U': case 'u': { Predmet p = s.uzmi (); System.out.println ("Predmet: " + p); sr += p.vel (); n++; break; } case 'Z': case 'z': break radi; default: System.out.println ("*** Neispravan izbor!"); } } catch (GPredmeti g) { System.out.println (g); } } if (n > 0) sr /= n; System.out.println ("Srednje velicina: " + sr); } }(садржај)
Kapacitet? 3 Izbor (S-stavi, U-uzmi, Z-zavrsi)? s r,h? 3 5 Izbor (S-stavi, U-uzmi, Z-zavrsi)? s r,h? 2 6 Izbor (S-stavi, U-uzmi, Z-zavrsi)? u Predmet: K(2.0,6.0) Izbor (S-stavi, U-uzmi, Z-zavrsi)? s r,h? 5 7 Izbor (S-stavi, U-uzmi, Z-zavrsi)? s r,h? 6 7 Izbor (S-stavi, U-uzmi, Z-zavrsi)? s r,h? 1 2 *** Stek je pun! Izbor (S-stavi, U-uzmi, Z-zavrsi)? u Predmet: K(6.0,7.0) Izbor (S-stavi, U-uzmi, Z-zavrsi)? u Predmet: K(5.0,7.0) Izbor (S-stavi, U-uzmi, Z-zavrsi)? u Predmet: K(3.0,5.0) Izbor (S-stavi, U-uzmi, Z-zavrsi)? u *** Stek je prazan! Izbor (S-stavi, U-uzmi, Z-zavrsi)? z Srednje velicina: 129.8524963483781
Copyright © 2010, Laslo Kraus
Последња ревизија: 8.9.2010.