2016-04-05 14 views
0

// Hangi konuda yardıma ihtiyacım olduğunu anlatıyor. Bu yüzden kullanıcı girdim ve şimdi girdiyi başka bir yöntem kullanarak yazdırmaya çalışıyorum. Dizimin içeriğinin yazdırılması gerekiyor.Nesneler ve sınıflar. Bir for döngüsü kullanarak kullanıcı girişi nasıl yazdırılır?

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

Alıcılar ve ayarlayıcılarınız varsa, neden bunları kullanmıyorsunuz? –

+0

Onları PrintRunners yönteminde çağırmalı mıyım? –

+0

Döngünün her yinelemesinde yeni bir koşucu hazırlamanız, özniteliklerinizi sahip olduğunuz bu dizgi yöntemlerini kullanarak ayarlamanız ve bu örneği diziye depolamanız gerekir. PrintRunners yönteminde, her bir koşucu için karşılık gelen alıcı yöntemlerini çağırmanız gerekir. – RubioRic

cevap

0

Sınıf Runner

ait ToString yöntemini geçersiz kılmak ve yönteme 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

İlk döngü işimden sonra yazdırma bilgilerini durdurur; printsRunners yöntemine varmadan önce. –

+0

herhangi bir hata? bu bilgiyi de sormak –

0

onu aramak için öneririm ana() yöntemi içinde "ar" adlı bir değişken tanımlar yöntem. Bu değer yöntemin dışında erişilebilir olmayacaktır.

Şimdi

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(); 
} 

sizin Runner edin: Bu dışarı yazdırırken

private static Runner[] ar; 

bunun üzerine döngü gerekir: sipariş erişimi size sınıfın statik değişken olarak ilan gerekiyor o , sahip olduğunuz diğer sorun hiçbir şeyin printRunners() yöntemini çağırmasıdır. Main() yönteminin sonunda çağrılmasını istediğinizi varsayar mıyım?

İlgili konular