2017-01-30 4 views
0

文字列を返す単純なメソッドを呼び出そうとしていますが、何らかの理由で空白になっていて、これを正しく行う方法がわかっていません。私はバンドクラスの)メソッドGETINFO(呼び出しにしようとしていますし、その中に文字列BANDINFOのthatsのをプリントアウトする:メインで文字列メソッドを呼び出す

public class App { 


public static void main(String[] args) { 

    Bands[] bands = new Bands[5]; 

    bands[0] = new Bands("Joe", "Rick", "Nick", "Dalton", "Doylestown, PA", "RockOn", 4000.50 , "Rock"); 
    bands[1] = new Bands("Luke", "Bill", "Ian", "Matt", "State College, PA", "Blink182", 3500.50 , "Alternative"); 
    bands[2] = new Bands("Corey", "Noah", "Jon", "Kaleb", "Philadelphia, PA", "Rise Against", 10000.50 , "Rock"); 
    bands[3] = new Bands("Jake", "Joey", "Mike", "Mac", "New York, NY", "Thousand Foot Krutch", 2000.50 , "Rock"); 
    bands[4] = new Bands("Bob", "Jeff", "Dom", "Mark", "King of Prussia, PA", "Skillet", 5500.50 , "Rock"); 

    bands[0].compete(); 
    bands[1].compete(); 
    bands[2].compete(); 
    bands[3].compete(); 
    bands[4].compete(); 

    for (int i = 0; i < 5; i++) { 
     String bandInfo = getInfo(bandInfo); 
    } 
} 
} 

そして、ここでは私のバンドのクラスコードです:

import java.util.Random; 

public class Bands { 

private String singerName; 
private String guitarName; 
private String bassistName; 
private String drummerName; 
private String Hometown; 
private String bandName; 
private double income; 
private String genre; 
private int score; 

public Bands(String singerName, String guitarName, String bassistName, String drummerName, String Hometown, String bandName, double income, String genre) 
{ 
    this.singerName = singerName; 
    this.guitarName = guitarName; 
    this.bassistName = bassistName; 
    this.drummerName = drummerName; 
    this.bandName = bandName; 
    this.Hometown = Hometown; 
    this.income = income; 
    this.genre = genre; 
    this.score = -1; 
} 

public void compete() 
{  
    Random rand = new Random(); 
    this.score = rand.nextInt(20); 

} 

public String getInfo() 
{ 
    String bandInfo = "Band: " + this.bandName + ", Singer: " + this.singerName + ", Guitarist: " + this.guitarName + ", Bassist: " + this.bassistName + 
         ", Drummer: " + this.drummerName + ", Hometown: " + this.Hometown + ", Income: " + this.income + ", Genre: " + 
         this.genre + ", Final Score: " + this.score; 

    return bandInfo; 
} 
} 
+1

「競合」メソッドの呼び出しとまったく同じ方法です。 – resueman

+0

これはあなたの質問には実際には関係ありません(これは基本的に 'bands [i] .getInfo()')ですが、一般的にクラスのインスタンスを表す正規の "要約文字列"メソッドは 'toString()'と呼ばれるべきです。次に、メソッドの呼び出しと結果の文字列の印刷ではなく、クラスのインスタンスを直接印刷できます。 – Kevin

+0

さて、アドバイスをいただき、ありがとうございました! – javainsanity1414

答えて

2
for (int i = 0; i < 5; i++) { 
    String bandInfo = bands[i].getInfo(); 
} 

getInfo()はBandsクラスのインスタンスメソッドです。 したがって、メソッドを呼び出すためにバンドのインスタンスを使用する必要があります。

bands[i]はバンドオブジェクトを参照します。

+0

ありがとうございました!何らかの理由で、私は空白でしたが、もう一度感謝します! – javainsanity1414

関連する問題