2016-04-07 10 views
0

Kitap sınıfının içindeki değerleri Cart Sınıfıma yazdırırken sorun yaşıyorum. Book book = new Book();'u aramayı denedim çünkü işe yaramaz çünkü ana sınıf olmadığından beri bir şey koymadım. Ben Book.toString(); çalışıyorum da çalışmıyor. Yapmaya çalıştığım şey, 1 no'lu kitabım öğesi olarak yerleştirdiğim, Kitap değerlerim görüntülendiğim ve 2 eklediğimde, Sözlük değerlerim görüntülendiğidir. Fakat bu problemi çözemiyorum. Değerlerimi kitabımdan Cart sınıfına nasıl yazdıracağım konusunda herhangi bir çözüm var mı?Kitap sınıfı değerleri başka bir Cart sınıfına nasıl yazdırılır?

Kitap Sınıfı:

public class Book{ 
    private String author; 
    private int numPages; 

    public Book(int code, String title, double price, int quantity, String author, int numPages){ 
     this.author = author; 
     this.numPages = numPages; 
    } 

    //Getters 
    public String getAuthor(){ 
     return this.author; 
    } 
    public int getNumPages(){ 
     return this.numPages; 
    } 

    //Setters 
    public void setAuthor(String author){ 
     this.author = author; 
    } 
    public void setNumPages(int numPages){ 
     this.numPages = numPages; 
    } 

    //toString 
    @Override 
    public String toString(){ 
     String outputBookDes = ""; 
     outputBookDes += "Author: "+ this.author; 
     outputBookDes += "Number Pages: "+ this.numPages; 
     return outputBookDes; 
    } 
} 

Sepet Sınıfı: getAuthor() statik bir yöntem değildir çünkü

public class Cart { 
    private SaleItem[] itemList; 
    private int numItems; 

    public Cart(int numItems){ 
     itemList = new SaleItem[numItems]; 
    } 

    public void addItem(int code, String title, double price, int quantity, int itemNum){ 

     if (itemNum == 1){ 
      System.out.println(Book.getAuthor()); 
     } 
    } 
} 

cevap

0

Bu hat Book.getAuthor() bir derleyici hatası alır. Verileri depolayacağınız ve addItem() yönteminde görüntülenecek olan Cart sınıfı için bir Kitap özelliğine ihtiyacınız var. Örneğin

:

public class Cart{ 
    private Book book; 
    ... 

    public void setBook (Book book){ 
     this.book = book; 
    }  

    public Cart (int numItems){ 
    //Initialize the class attributes 
    book = new Book(); 
    itemList = new SaleItem[numItems]; 
    } 

    public void addItem(int code, String title, double price, int quantity, int itemNum){ 

    if (itemNum == 1){ 
     System.out.println(book.getAuthor()); 
    } 
    } 
} 

Kullanım setBook()addItem() çağırmadan önce kitap için değerlerini ayarlamak veya addItem() içine koymak için. Birden fazla Kitabı saklamak istiyorsanız, bir dizi kitap gerekir.

Umarım bu size yardımcı olacaktır.

+0

Yardımlarınız için teşekkürler! Bunu takdir ediyorum. –

İlgili konular