2017-01-22 25 views
-1

私はTireという名前のクラスを持っていて、それには関数があります。私はCarクラスでそれを呼びます。車には4本のタイヤがあるので、タイヤをCarクラスの配列として宣言する必要がありますので、Tireクラスに実装されている関数を呼び出すことができます。どのように私はそれを行うことができますか?クラス配列に要素を割り当てる方法

class Tire { 
    public void pumpAir(int psi) {} 
} 

public class Car { 
    private Tire[] tires = new Tire[4]; 
} 

public static void main(String[] args) { 

    Car car = new Car(); 

    car.tires ... // how to call 3rd tire and pump it? 
} 
+0

'car.tires [0]'車の中で最初のタイヤにアクセスします。 –

+0

@Enissこれは割り当てですか?あなたは配列の主題に関するコースの教材を読んだことがありますか?何を試しましたか? –

答えて

-1

最良のオプションは、あなたが

car.getTires()[2].pumpAir(someInt); 
+0

申し訳ありませんが速すぎます...編集 –

0

一つのオプションで3番目のタイヤにアクセスすることができ、メインで

public class Car 
{ 
    private Tire[] tires = new Tire[4]; 

    public Tire[] getTires() 
    { 
     return tires; 
    } 
} 

次にCarクラスにゲッターを作成することであることを作成することですゲッター:

public class Car { 
    private Tire[] tires = new Tire[4]; 

    public Tire getTire(int i) { 
     if (i >= 0 && i < tires.length) { 
      return tires[i]; 
     } 
     return null; 
    } 
} 

メインコード:

Tire t = car.getTire(3); 
if (t != null) { 
    t.pumpAir(42); 
} 
0

は、タイヤのgetterを作成し、そのプライベートとして添字を使用してアクセス。
アクセス指定子をpublicに変更し、添字演算子を使用してアクセスします。

public class Car { 
    private Tire[] tires = new Tire[4]; 

    public Tire getTire(int number) { 
     if(number >= 0 && number < tires.length) { 
       return tires[number]; 
     } else { 
       return null; 
     } 
    } 

} 

public static void main(String[] args) { 

    Car car = new Car(); 

    car.getTire(2) ... // how to call 3rd tire and pump it? 
} 
0
public class Tire 
    { 
     public void pumpAir(int psi) { 
       System.out.println("Tire number " + psi + " pumped."); 
     } 
    } 



public class Car { 
     private Tire[] tires = new Tire[4]; 



public Car() 
    { 
    for(int i=0;i<4;i++) 
     this.tires[i]=new Tire(); 
    } 

public Tire[] getTiers() 

    { 
    return tires; 
    } 
} 

public static void main(String[] args) { 



Car car = new Car(); 

// how to call 3rd tire and pump it? 
car.getTiers()[2].pumpAir(2 + 1); 

} 
関連する問題