Advertisement
GraionDilach

Interface/example 1

Oct 10th, 2012
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.78 KB | None | 0 0
  1.  
  2. public class Faidomok {
  3.  
  4.     /**
  5.      * @param args
  6.      */
  7.     public static void main(String[] args) {
  8.         // TODO Auto-generated method stub
  9.        
  10.         Idom[] ListIdoms = new Idom[4];
  11.        
  12.         ListIdoms[0] = new Gömb(3);
  13.         ListIdoms[1] = new Hasáb(5, 2, 3);
  14.         ListIdoms[2] = new Hasáb(4, 7, 2);
  15.         ListIdoms[3] = new Gömb(4);
  16.        
  17.         for (int i = 0; i < ListIdoms.length; i++){
  18.             System.out.println(ListIdoms[i].toString());
  19.         }
  20.        
  21.         System.out.println("Összsúly: " + sumSúly(ListIdoms));
  22.         System.out.println("Gömbök összsúlya: " + sumGömbSúly(ListIdoms));
  23.        
  24.         for(int i = 0; i< ListIdoms.length-1; i++)
  25.         {
  26.             for (int j = i; j < ListIdoms.length; j++)
  27.             {
  28.              if (ListIdoms[i].compareTo(ListIdoms[j]) == 1){
  29.                  Idom Temp = ListIdoms[i];
  30.                  ListIdoms[i] = ListIdoms[j];
  31.                  ListIdoms[j] = Temp;
  32.                 }
  33.             }
  34.         }
  35.        
  36.         System.out.println("Legkisebb: " + ListIdoms[0].toString());
  37.         System.out.println("Legnagyobb: " + ListIdoms[3].toString());
  38.  
  39.     }
  40.    
  41.     static double sumSúly (Idom[] listIdoms){
  42.         if (listIdoms.length != 0) {
  43.             double sumSuly = 0;
  44.             for (int i = 0; i < listIdoms.length ; i++) {
  45.                 sumSuly += listIdoms[i].suly();
  46.             }
  47.             return sumSuly;
  48.         }
  49.         else {
  50.             return -1;
  51.         }
  52.        
  53.     }
  54.    
  55.     static double sumGömbSúly (Idom[] listIdoms){
  56.         if (listIdoms.length != 0) {
  57.             double sumSuly = 0;
  58.             for (int i = 0; i < listIdoms.length ; i++) {
  59.                 if (listIdoms[i] instanceof Gömb){
  60.                     sumSuly += listIdoms[i].suly();                
  61.                 }
  62.             }
  63.             return sumSuly;
  64.         }
  65.         else {
  66.             return -1;
  67.         }
  68.        
  69.     }
  70.  
  71. }
  72.  
  73. =====================================================================================
  74.  
  75.  
  76. public class Gömb extends Idom {
  77.  
  78.     @Override
  79.     public double terfogat() {
  80.         // TODO Auto-generated method stub
  81.         return sugar*sugar*sugar*4*Math.PI/3;
  82.     }
  83.  
  84.     @Override
  85.     public double suly() {
  86.         // TODO Auto-generated method stub
  87.         return terfogat()*fajsúly;
  88.     }
  89.  
  90.     @Override
  91.     public int compareTo(Object obj) {
  92.         if (obj instanceof Idom){
  93.             // TODO Auto-generated method stub
  94.             if (((Idom)obj).terfogat() > this.terfogat()){
  95.                 return -1;
  96.             }
  97.             if (((Idom)obj).terfogat() < this.terfogat()){
  98.                 return 1;
  99.             }
  100.             return 0;
  101.         } else {
  102.             throw new ClassCastException();
  103.         }
  104.     }
  105.    
  106.     public String toString(){
  107.         return new String("Gömb,"
  108.                 + " sugara: " + sugar
  109.                 + ", térfogata: " + this.terfogat()
  110.                  + ", súlya: " + this.suly()+ ".");
  111.     }
  112.    
  113.     double sugar;
  114.    
  115.     Gömb(double _sugar){
  116.         sugar = _sugar;
  117.     }
  118.  
  119. }
  120.  
  121.  
  122. ============================================================================================
  123.  
  124.  
  125. public class Hasáb extends Idom {
  126.  
  127.     @Override
  128.     public double terfogat() {
  129.         // TODO Auto-generated method stub
  130.         return a*b*magassag;
  131.     }
  132.  
  133.     @Override
  134.     public double suly() {
  135.         // TODO Auto-generated method stub
  136.         return terfogat()*fajsúly;
  137.     }
  138.  
  139.     @Override
  140.     public int compareTo(Object obj) {
  141.         if (obj instanceof Idom){
  142.             // TODO Auto-generated method stub
  143.             if (((Idom)obj).terfogat() > this.terfogat()){
  144.                 return -1;
  145.             }
  146.             if (((Idom)obj).terfogat() < this.terfogat()){
  147.                 return 1;
  148.             }
  149.             return 0;
  150.         } else {
  151.             throw new ClassCastException();
  152.         }
  153.     }
  154.    
  155.     public String toString(){
  156.         return new String("Henger,"
  157.                 + " a éle: " + a + ", b éle: " + b
  158.                 + ", magassága: " + magassag
  159.                 + ", térfogata: " + this.terfogat()
  160.                  + ", súlya: " + this.suly()+ ".");
  161.     }
  162.    
  163.     double a, b, magassag;
  164.    
  165.     Hasáb (double _a, double _b, double _magassag){
  166.         a = _a;
  167.         b = _b;
  168.         magassag = _magassag;
  169.     }
  170.  
  171. }
  172.  
  173. ===============================================================================
  174.  
  175.  
  176. public abstract class Idom implements Comparable<Object> {
  177.     double fajsúly = 0.8;
  178.     public abstract double terfogat();
  179.     public abstract double suly();
  180.     public abstract int compareTo(Object obj);
  181. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement