L'appel d'une méthode d'impression à partir d'une autre classe avec des types de données primitifs en elle

J'ai été la programmation en Java à l'aide de BlueJ pour 2 mois maintenant et j'ai besoin d'un peu d'aide avec une affectation. Je fais une base de l'Achat d'un Véhicule d'entrée de données du programme. J'ai besoin d'appeler le printPurchaseDate() méthode de la PurchaseDate classe. Le problème je suis confronté est que l'instruction print a trois valeurs int: année, mois et jour. Quand j'essaie d'appeler cette méthode dans la classe de Véhicules dans le printDetails() méthode, il me dit que j'ai besoin d'un retour, si j'enlève le vide, j'ai de l'étiquette de la méthode comme une chaîne de caractères. Cependant cela ne fonctionne pas alors parce qu'il est titulaire de trois variables int à l'intérieur qui sont en conflit avec la méthode de chaîne. Comment puis-je faire? En gros, je veux imprimer toutes mes informations, y compris la purchaseDate. Mes excuses à l'avance si je ne présente pas ma question correctement, ceci est mon premier post. Je vous remercie pour votre aide.

J'ai deux classes: Date d'Achat et le Véhicule.

Mon véhicule de catégorie a de cette méthode, conçue pour l'impression d'informations:

public void printDetails() {
    System.out.println("Customer:" + " " +
    customer.getFullName());
    System.out.println("Vehicle Description:" + " " + 
    getVehiclePurchased());
    PurchaseDate.printPurchaseDate();
}

Im d'avoir des problèmes avec l'impression de la date à partir de mon PurchaseDate classe dans ma catégorie de Véhicule "printDetails()" la méthode.

/**
* The Purchase data class
*/
public class PurchaseDate {
private int year;
private int month;
private int day;
private static final int CURRENT_YEAR = 2014;
private static final int LAST_MONTH = 12;
private static final int LAST_DAY = 31;
/**
* default constructor
*/
public PurchaseDate() {
}
/**
* @param year to initialize theYear field
* @param month to initialize theMonth field
* @param day to initialize theDay field
*/
public PurchaseDate(int theYear, int theMonth, int theDay) {
setYear(theYear);
setMonth(theMonth);
setDay(theDay);
if (year < 1900 || year > 2014) {
System.out.println("The year value can be no greater than the current year");
} else {
this.year = year; }
if (month < 1 || month > 12) {
System.out.println("The month value must be between 1 and 12");
} else {
this.month = month; }        
if (day < 1 || day > 31) {
System.out.println("The day value must be between 1 and 31");
} else {
this.day = day; }
}        
//Mutators and Accessors    
/**
* @return year
*/
public int getYear() {  
return year;
}
/**
* @return month
*/
public int getMonth() {
return month;
}
/**
* @return day
*/
public int getDay() {
return day;
}
/**
* @param the year
*/
public final void setYear(int newYear) {
year = newYear;
}
/**
* @param the month
*/
public final void setMonth(int newMonth) {
month = newMonth;
}
/**
* @param the day
*/
public final void setDay(int newDay) {
day = newDay;
}
/**
* prints the purchase date
*/
public void printPurchaseDate() {
System.out.println("The purchase date is:" + " " + year + "-" + month + "-" + day);
}
}

En gros, je veux que mon System.out.println pour imprimer la date
ce que j'ai dans mon PurchaseDate classe.

OriginalL'auteur Stefan Timotic | 2014-11-09