2016-03-18 16 views
0

Dikdörtgen sınıfındaki dikdörtgen alanını hesapladığımı varsayalım ama küp sınıfındaki dikdörtgen alanını geçemiyorum.Küpün alanı dikdörtgen alanın eklenmesiyle hesaplanacaktır. Bir dizide 6 kez. the uml diagram looks like thisBir dizi parametresini başka bir sınıfa iletemiyorum

benim dikdörtgen sınıfı

public class Rectangle extends Shape { 

    Scanner in = new Scanner(System.in); 
    int length; 
    int width; 

    Rectangle(String name, String unit, int length, int width) { 

     super(name, unit); 
     this.length = length; 
     this.width = width; 

    } 

    public int getwidth() { 
     return this.width; 
    } 

    public int getlength() { 
     return this.length; 
    } 

    public void setwidth(int width) { 
     this.width = width; 
    } 

    public void setlength(int length) { 
     this.length = length; 
    } 

    @Override 
    public void getInput() { 

    } 

    @Override 
    public int getArea() { 
     return this.width * this.length; 
    } 

    @Override 
    public void display() { 
     super.display(); 
     System.out.println("length:" + this.length + "width:" + this.width); 
     System.out.println("area is" + getArea()); 
    } 

    public class Cube extends Shape { 

     Rectangle[] r = new Rectangle[6]; 

     Boolean solid; 
     String color; 

     Cube(String name, String unit, Boolean solid, String color) { 
      super(name, unit); 
      this.solid = solid; 
      this.color = color; 

     } 

     @Override 
     public int getArea() { 
      int sum = 0; 
      r[0] = new Rectangle("Rectangle", "Unit1", 10, 20); 
      r[1] = new Rectangle("Rectangle", "Unit2", 10, 20); 
      r[2] = new Rectangle("Rectangle", "Unit3", 10, 20); 
      r[3] = new Rectangle("Rectangle", "Unit4", 10, 20); 
      r[4] = new Rectangle("Rectangle", "Unit5", 10, 20); 
      r[5] = new Rectangle("Rectangle", "Unit6", 10, 20); 
      for (int i = 0; i < r.length; i++) { 
       sum = sum + r[i]; 

      } 
      return sum; 

     } 

     @Override 
     public void getInput() { 

     } 

     @Override 
     public void display() { 
      super.display(); 
      System.out.println("color:" + this.color + "solid:" + this.solid); 
      System.out.println("sum of cube" + getArea()); 
     } 
    } 
} 
+2

Üzgünüz, ne soruyorsunuz belli değil. Dizi parametresini geçirdiğiniz 'Cube' sınıfının kodunu göstermeniz gerekir. –

+0

@arfa Ne demek istiyorsun ama küp sınıfındaki dikdörtgen alanından geçemiyorum. – user3437460

+0

uml diyagramı bağlantısına bir göz atabilirseniz açık olabilir – arfa

cevap

0

Güncelleme bu

sum = sum + r[i].getArea();

için

sum= sum+r[i];

adresinin kod Temel olarakbir dizi yaptık. width, length veya area'u almak istiyorsanız, sum numaranız için bir int geri almak için nesnenizin alıcılarını kullanmanız gerekir.

+0

'getArea() 'yönteminde manuel çalışma yaptığınız için teşekkür ederiz, teşekkürler! – arfa

+0

@arfa Çözüm çalışıyorsa, gönderimimin hemen yanında bir onay işareti var. Tıkla. Çözümün geçerli olduğu ile aynı sorunu yaşayabilecek diğerlerini gösterir. (Sadece yeni olduğun için bilmeni sağla) – wiredniko

+0

oh tekrar teşekkürler – arfa

İlgili konular