Advertisement
peterzig

[JAVA] Klasy Figura

Mar 21st, 2017
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.51 KB | None | 0 0
  1. /////////////////////////Figura.java/////////////////////////////////
  2.  
  3.  
  4. package figura;
  5.  
  6. public abstract class Figura {
  7.    
  8.     public abstract String KlasaFigury();
  9.     public abstract double PolePowierzchni();
  10.     public abstract double Obwod();
  11.        
  12.     public static void main(String[] args) {
  13.        
  14.             Figura[] figures = new Figura[30];
  15.             Grupa group = new Grupa(30);
  16.             Okrag[] circles = new Okrag[10];
  17.             Prostokat[] rectangles = new Prostokat[10];
  18.             Trojkat[] triangles = new Trojkat[10];
  19.             for (int i = 0; i < 10; ++i) {
  20.                 circles[i] = new Okrag(i);
  21.                 figures[i] = circles[i];
  22.             }
  23.             for (int i = 10; i < 20; ++i) {
  24.                 rectangles[i-10] = new Prostokat(i, i);
  25.                 figures[i] = rectangles[i-10];
  26.             }
  27.             for (int i = 20; i < 30; ++i) {
  28.                 triangles[i-20] = new Trojkat(i, i, i);
  29.                 figures[i] = triangles[i-20];
  30.             }
  31.  
  32.             for (int i = 0; i < 30; ++ i) {
  33.                 group.UstawFigure(i, figures[i]);
  34.             }
  35.  
  36.             group.Wyswietl();
  37.       /*Grupa g = new Grupa(20);
  38.      
  39.       for (int i = 0; i < 20; ++i) {
  40.             Okrag o = new Okrag(1.1*i);
  41.            
  42.             g.UstawFigure(i,o);
  43.         }
  44.      
  45.       g.KlasaFigury();
  46.       g.Wyswietl();
  47.       */
  48.     }
  49.    
  50. }
  51.  
  52.  
  53. ///////////////////////////////////Grupa.java//////////////////////////////////
  54.  
  55.  
  56.  
  57. package figura;
  58.  
  59. public class Grupa extends Figura {
  60.     private Figura[] array;
  61.     private int numberOfElemens;
  62.    
  63.     public Grupa(int n) {
  64.         numberOfElemens = n;
  65.         array = new Figura[n];
  66.     }
  67.    
  68.     public void UstawFigure(int i, Figura figure){
  69.         array[i] = figure;
  70.     }
  71.    
  72.     public void Wyswietl(){
  73.         System.out.print("----------------------------\n");
  74.         System.out.print("|Lp.| Figura | Obwód | Pole|\n");
  75.         System.out.print("----------------------------\n");
  76.         for (int i = 0; i < numberOfElemens; ++i) {
  77.         //System.out.print("| "+(i+1)+"|"+array[i].KlasaFigury()+"|"+array[i].Obwod()+"|"+array[i].PolePowierzchni()+" |\n");
  78.         System.out.printf("| %d | %s |  %.2f  | %.2f |\n",(i+1),array[i].KlasaFigury(),array[i].Obwod(),array[i].PolePowierzchni());
  79.         }
  80.     }
  81.    
  82.    
  83.     @Override public String KlasaFigury() {
  84.         return "GrupaFigur";
  85.     }
  86.    
  87.     @Override public double PolePowierzchni() {
  88.         double sum = 0;
  89.         for (int i = 0; i < numberOfElemens; ++i) {
  90.             sum += array[i].PolePowierzchni();
  91.         }
  92.         return sum;
  93.     }
  94.      
  95.     @Override public double Obwod() {
  96.       double sum = 0;
  97.         for (int i = 0; i < numberOfElemens; ++i) {
  98.             sum += array[i].Obwod();
  99.         }
  100.         return sum;
  101.     }
  102.    
  103. }
  104.  
  105. //////////////////////////////////////////Okrag.java/////////////////////////////////
  106.  
  107.  
  108. package figura;
  109.  
  110.  
  111. public class Okrag extends Figura {
  112.     double r;
  113.    
  114.     Okrag(double r){
  115.         this.r = r;
  116.     }
  117.    
  118.     @Override public String KlasaFigury(){
  119.         return "Okrąg";
  120.     }
  121.    
  122.      @Override public double PolePowierzchni(){
  123.         return Math.PI*r*r;
  124.     }
  125.      
  126.       @Override public double Obwod(){
  127.         return 2*(Math.PI*r);
  128.     }
  129.      
  130. }
  131.  
  132. ///////////////////////////////////////////Prostokat.java////////////////////////////////////
  133.  
  134.  
  135. package figura;
  136.  
  137. public class Prostokat extends Figura{
  138.     double a,b;
  139.    
  140.     public Prostokat(double a, double b){
  141.         this.a = a;
  142.         this.b = b;
  143.     }
  144.    
  145.     @Override public String KlasaFigury(){
  146.         return "Prostokąt";
  147.     }
  148.    
  149.      @Override public double PolePowierzchni(){
  150.         return a*b;
  151.     }
  152.      
  153.       @Override public double Obwod(){
  154.         return (2*a)+(2*b);
  155.     }    
  156. }
  157.  
  158.  
  159.  
  160. ////////////////////////////////////////////////Trojkat.java////////////////////////////////////////////////
  161.  
  162.  
  163.  
  164. package figura;
  165.  
  166. public class Trojkat extends Figura {
  167.     double a,b,c;
  168.    
  169.     public Trojkat(double a, double b, double c){
  170.        this.a = a;
  171.        this.b = b;
  172.        this.c = c;
  173.     }
  174.    
  175.     @Override public String KlasaFigury(){
  176.         return "Trójkąt";
  177.     }
  178.    
  179.      @Override public double PolePowierzchni(){
  180.         double pole,p;
  181.         p = 0.5*(a+b+c);
  182.         return pole = Math.sqrt(p*(p-a)*(p-b)*(p-c));
  183.     }
  184.      
  185.       @Override public double Obwod(){
  186.         return a+b+c;
  187.     }    
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement