2016-11-17 5 views
-3

最近、私は学校でJavaでプログラミングを始めました。最近の練習ではいくつか問題がありました。Javaの別のクラスのオブジェクトを作成する

私は現在、携帯電話番号または固定電話番号のいずれかのオブジェクト電話を持っています。 連絡先の詳細を含む別のクラスを作成したいと思います。連絡先の詳細には、1つの携帯電話番号(gsm)と1つの固定電話番号(電話番号)の2つのTelephoneオブジェクトが必要です。電話番号の種類は、クラスで宣言されています。

私の質問は、ContactDetailsクラスの初期化を変更して、2つの新しいTelephoneオブジェクトを受け入れる方法です。そして、私が間違ってやっているのはまさにそれです。

ありがとうございます!

あなたがここに二つの問題持って
public class Telephone { 
    private String sort; 
    public String number; 

    public Telephone(String sort, String number) { 
     this.sort = sort; 
     this.number = number; 
    } 

    public String getSort() { 
     return sort; 
    } 

    public String getNumber() { 
     return number; 
    } 

    public boolean isValidnumber(){ 
     if(number.startsWith("0")) { 
      if (getSort() == "landline" && number.length() == 9) { 
       return true; 
      } else if (getSort() == "mobile" && number.length() == 10) { 
       return true; 
      } else return false; 
     } 
     else return false; 
    } 
} 

public class ContactDetails { 
    private String eMail; 
    Telephone telephone = new Telephone("landline", Telephone.number); 
    Telephone gsm = new Telephone("mobile", Telephone.number); 

    public ContactDetails(String eMail, Telephone telephone, Telephone gsm){ 
     this.eMail = eMail; 
     this.telephone = telephone; 
     this.gsm = gsm; 
    } 
} 
+4

? – Berger

+2

あなたの質問は何ですか?コンパイル時やランタイムエラーがありますか? – vanje

+0

** ContactDetails()**コンストラクタの外に** Telephone **オブジェクトを初期化することに意味はありません。また、それが試みられる方法は間違っています。そして、このコードはコンパイルされません。 – progyammer

答えて

1

  1. Telephone GSMを初期化すると、そのクラスは、あなたが持っている

  2. 存在しないとして、あなたは、Telefoonとしてそれを宣言することはできませんが数字の文字列で電話機を初期化します。 Telephone.numberTelephoneを初期化しているのでまだ存在していないTelephoneオブジェクトのnumber文字列を参照しています。

これらの作業の両方を行うためには、このような何かにContactDetailsTelephoneの2つの初期化を変更:あなたの質問は正確には何

Telephone telephone = new Telephone("landline", "5555555555"); 
Telephone gsm = new Telephone("mobile", "5555555555"); 
+0

あなたの答えをありがとう、2番目の問題:これは私が単にランダムに選択された文字列を使用して初期化する必要があることを意味ですか? –

+0

@MeesVankaamあなたは保存したい電話番号で初期化することができます。私はデモのように私を作成するために5sの束を使いましたが、あなたはその文字列に任意の電話番号を格納することができました。 –

関連する問題