2017-08-20 21 views
-1

最初に私は初心者のプログラマーであり、学びたいと言います。 要するに私の問題は、次のようになります。私は3つのクラス(メイン、著者、書籍)を持っている私は、本の詳細を設定するとき、それらがリンクされているように、私は作者と本の間の接続を行うことができますどのようにJavaの別のクラスでクラス引数を使用する方法

public static void main(String[] args) { 
    Author a=new Author(); 
    Book b=new Book(); 
    //creating author 
    a.setName("Paulo Coelho", "[email protected]"); 
    System.out.println("Author : " + a.getName() + "\ne-mail: "+ a.getEmail()); 
    //creating book 
    b.setName("Alchimist"); 
    b.setYear(2010); 
    b.setPrice(15.7); 

} 
public class Author { 
    public static String name; 
    public static String email; 
    public static void setName(String n, String e){ 
     name=n; 
     email=e; 
    } 
    public String getName(){ 
     return name; 
    } 
    public String getEmail(){ 
     return email; 
    } 


public class Book { 
    String name; 
    int year; 
    double price; 
    Author a; 


    public void setName(String b){ 
     name=b; 
    } 
    public void setYear(int y){ 
     year=y; 
    } 
    public void setPrice(double p){ 
     price=p; 
    } 

    public String getName(){ 
     return name; 
    } 
    public int getYear(){ 
     return year; 
    } 
    public double getPrice(){ 
     return price; 
    } 
    public String getBookDetails(){ 
     ????????????? 
    } 
} 

最初に作成した著者と 私はgetDetailsを印刷するときに正しい本の詳細を取得しますか?

+0

ようこそ! [ツアー](ツアー)を見て周りを見て、[ヘルプセンター](/ help)を読んでください 特に[どのように良い質問をしますか?](/ help/how-to -ask)と[ここではどのようなトピックについて聞くことができますか?](/ help/on-topic) –

+0

Bookクラスの著者詳細を設定するcreate setメソッド。 – nagendra547

答えて

0

あなたのはすでにBookクラスにあります。

あなたはあなたのmainメソッドからそれを設定することができるようにBookクラスのauthos用セッターを追加する必要があります。その後

// in Book class 
public void setAuthor(Author author){ 
     this.a = author; 
} 

// in main: 
b.setAuthor(a); 
b.setName("Alchimist"); 

あなたがのプロパティにアクセスすることができますあなたのメソッドの割り当てられた著者getBookDetails()


ところで

Javaでは識別子名の名前の長さが実質的に無制限です。長い識別子の名前には、いかなる形でもペナルティはありません。だから、名前を選ぶときに手紙で刺青しないでください。例えば。あなたの例ではbの代わりにabookの代わりにと常にauthorを使用してください。これは長期的にあなたの人生を楽にしてくれます...

関連する問題