2016-03-21 14 views
1

私は、抽象クラスの領域ともう1つはクラスKenKenの2つのクラスの間に関係があります。私はKenKenクラスのRegion型のArrayListを持っています。どのようにしてaddValueメソッドにアクセスできますか?次のように抽象クラスを使用した合成関係 - Java

クラスは次のとおりです。

ケンケン:

public class KenKen { 

private ArrayList<Region> regions; 

public KenKen(String filename)throws FileNotFoundException{ 

    //constructor 
    regions = new ArrayList<Region>(); 
    //regions.addValue(0);// 

} 


public static void main(String[] args) throws FileNotFoundException{ 


     KenKen kenken1 = new KenKen("input.1.txt"); 


    } 

} 

リージョン:

public abstract class Region{ 

private int number = 0; 
protected int target = 0; 
protected ArrayList<Integer> values; 

    public Region(int number , int target){ 

     this.number = number; 
     this.target = target; 

     //constructor 
     values = new ArrayList<Integer>(); 

    } 

    public void addValue(int val){ 

    } 
    public abstract boolean verify(); 

    public String toString(){ 


    } 

} 

答えて

1

ArrayListのメンバーにアクセスするには、あなたはget(int index)を使用する必要があります。

このリスト内の指定された位置にある要素を返します

。だから、

regions.get(index).addValue(0); 
1

あなたは、リスト内の領域の目的を達成するためにget()メソッドを使用することができます。

regions.get(0).addValue(0);

1

領域は、地域のArrayListのある、あなたは、あなたは地域のリストをアクセスもするKENKENクラスのパブリックメソッドを必要とする

regions.get(index).addValue(x); 
0

ような何かを行う必要があります。

public List<Region> getRegions() { 
    return regions; 
} 

、その後、あなたは()

getRegions().get(index).addValue(value); 
addValueを呼び出すことができます
関連する問題