2016-04-05 5 views
0

//私は助けが必要なものを教えています。だから私はユーザーの入力を受け取り、今私は別の方法を使用して入力を印刷しようとしています。私の配列の内容は印刷されなければなりません。オブジェクトとクラス。 forループを使用してユーザー入力を印刷するにはどうすればよいですか?

import java.util.Scanner; 

public class Running_Calcs { 

public static void main(String[] args) { 
    Scanner kbd = new Scanner(System.in); 

    final int MAX_RUNNERS = 4; 
    banner(); 
    Runner[] ar = new Runner[MAX_RUNNERS]; 
// This is an array for user input. Getter and setter are already set for name,distance,time. 
    for (int i = 0; i < ar.length; i++) { 
     System.out.println("\nInformation for runner 1/3"); 
     System.out.print("Name: "); 
     String name = kbd.next(); 
     System.out.print("Miles: "); 
     double distance = kbd.nextDouble(); 
     System.out.print("Minutes: "); 
     int time = kbd.nextInt(); 
    } 

    kbd.close(); 
} 

public static void printRunners(Runner[] ar) { 
    for (int i = 0; i < ar.length; i++) { 
     System.out.println("First Print of runners"); 
     System.out.println("-----------------------"); 
     System.out.println(ar[i]); 
    } 
    banner(); 

} 
// I am trying to print the info from the array in this method. I don't know how. 
//Along with that , I am trying to print the pace and Temp which I already have in my other class. 
private static void banner() { 
    System.out.println("---------------------------"); 
    System.out.println("Track runner info and pace\nGustavo Bruno"); 
    System.out.println("---------------------------"); 
} 

} 
+0

ゲッターとセッターがあれば、どうして使ってみませんか? –

+0

私はそれらをPrintRunnersメソッドで呼び出す必要がありますか? –

+0

ループの各繰り返しで新しいランナーをインスタンス化し、それらのセッターメソッドを使用して属性を設定し、そのインスタンスを配列に格納する必要があります。 printRunnersメソッドでは、各ランナーの対応するゲッターメソッドを呼び出す必要があります。 – RubioRic

答えて

0

私はクラスのランナー

ToStringメソッドをオーバーライドし、main()メソッドは、内の「AR」という名前の変数を定義するprintRunners

public static void printRunners(Runner[] ar) { 
    for (int i = 0; i < ar.length; i++) { 
     System.out.println("First Print of runners"); 
     System.out.println("-----------------------"); 
     System.out.println(ar[i].toString()); //here!!! 
    } 
    banner(); 

} 
+0

最初のforループが終了した後で印刷情報を停止します。それがprintsRunnersメソッドに到達する前に –

+0

その情報も質問に投稿してください –

0

方法でそれを呼び出すことを示唆していますメソッド。この値はメソッド外ではアクセスできません。あなたはそれをループする必要があり、これをプリントアウトするとき

private static Runner[] ar; 

for(Runner r : ar){ 
    // somehow print out the Runner class (you haven't included this) 
    System.out(r.getName() + "\t" + r.getDistance() + "\t" + r.getTime(); 
} 

あなたのランナー

場合は今すぐ注文アクセスでは、それはあなたのクラスの静的変数として宣言する必要がありますもう1つの問題は、何もprintRunners()メソッドを呼び出さないことです。 main()メソッドの最後に呼び出されることを前提としていますか?

関連する問題