2017-05-07 11 views
0

長さがユーザーの入力であるオブジェクト内の配列を初期化するにはどうすればよいですか?私はユーザーの入力を介してバットの数を設定し、配列の長さをbasesAchievedの配列内に設定したいと考えて、達成したベースを表すユーザー入力(1-4)に基づいて数値を設定します。あなたがthis.basesAchieved = basesAchieved;を割り当てる必要がありますsetter方法でユーザー入力によるJava配列の長さの設定

// set up a Batter 
public class Batter 
{ 
    private String batterName; 
    private int numberOfBats; 
    private int[] basesAchieved; 

    // fill fields with empty data, how is this done with an array?? 
    public Batter() 
    { 
     this("", 0,0); 
    } 

    // 
    public Batter(String batterName, int numberOfBats, int[] basesAchieved) 
    { 
     this.batterName = batterName; 
     this.numberOfBats = numberOfBats; 
     this.basesAchieved = basesAchieved; 
    } 

    public void setBatterName(String batterName) 
    { 
     this.batterName = batterName; 
    } 

    public String getBatterName() 
    { 
     return batterName; 
    } 

    public void setNumberOfBats(int numberOfBats) 
    { 
     this.numberOfBats = numberOfBats; 
    } 

    public int getNumberOfBats() 
    { 
     return numberOfBats; 
    } 

    // want to set an array to get a number (1-4) for each number of @ bats  
    // (numberOfBats). 
    public void setBasesAchieved(int[] basesAchieved) 
    { 
     this.basesAchieved = ; 
    } 

    public int getBasesAchieved() 
    { 
     return basesAchieved; 
    } 
} 

答えて

0

。あなたはちょうどその長さでbasesAchievedを初期化したい場合は、次のクラスでint[] basesAchieved = new int[yourlength]あなたはBatterクラスを初期化し、その後、あなたはint型の配列を使用してみてください、あなたのクラスに多少の誤差があり、このクラス

0

setterメソッドを呼び出します。

public Batter() 
{ 
    this("", 0, new int[0]); 
} 

// skipped... 

public void setBasesAchieved(int[] basesAchieved) 
{ 
    this.basesAchieved = basesAchieved; 
} 

public int[] getBasesAchieved() 
{ 
    return basesAchieved; 
} 

この質問は次のようにスキャナオブジェクトを使用することで、ユーザの入力最も簡単な方法のHow can I get the user input in Java?

つを取得する方法について説明します。

あなたがこの方法を使用することができます
Scanner reader = new Scanner(System.in); // Reading from System.in 
System.out.println("Enter a number: "); 
int n = reader.nextInt(); // Scans the next token of the input as an int. 

numberOfBatsの数を読み取り、適切な配列長でオブジェクトを作成します。その後、ユーザーに入力を依頼し続け、配列をbasesAchieved配列に入れます。あるいは、読者に最初にすべての入力を求めてからオブジェクトを作成することができます。

関連する問題