Geçerli bir şüphe ve bir yıl önce bu kadar benzer bir şüphe ile karşı karşıya kaldım.
Bu değerleri bir yöntemden döndürmenin en iyi yolunun bir Nesne türüne döndürdüğünü öğrendim. Ben gün, ay ve yılı dönmek olsaydı şöyle Bu örnekte, sonra bir sınıf oluşturmak olacaktır:
public class DateOfYear{
public int day;
public String month;
public int year;
public DateOfYear(int day, String month, int year){
this.day = day;
this.month = month;
this.year = year;
}
}
Şimdi bu sınıf DateofYear örneğini kullanmak ve bir nesne gibi değerleri gönderir.
public DateOfYear dayInMonth(int day,int month,int year){
//....
return new DateOfYear(day,month,year);
}
ve aşağıdaki gibi arama fonksiyonu sadece geçerli günü görüntüleyebilir:: Ayın Günü almak istiyorum Yani, eğer gibi olacaktır işlevi izler
System.out.println("Day: "+dayInMonth(day,month,year).day);
Benzer için 0TayAfter yönteminde, dönüş türünü değiştirin ve DateOfYear türünde nesneyi döndürün.
public DateOfYear theDayAfter(int day, int month, int year) {
day++;
int max=dayInMonth(day,month,year);
if(day>max)
{
month++;
if(month>12)
{
year++;
month=1;
day=1;
}
}
return new DateOfYear(day, month, year);
}
theDayAfter() aşağıdaki gibi ertesi gün görüntüleyebilir çağrı yöntemi:
System.out.println("Next Day: "+theDayAfter(day,month,year).day);
System.out.println("Month: "+theDayAfter(day,month,year).month);
System.out.println("Year: "+theDayAfter(day,month,year).year);
Bir 'int [] ', bir' String' geri dönebilirler ** ya da ** bir 'Tarih'. Bununla ne yapmak istersin? Çünkü takvimi yeniden uygulamaya çalıştığınız görülüyor. –
Geri dönüş türü yalnızca 'int' olduğundan, bu yöntemden * üç * 'int 'değer döndüremezsiniz. Ya * bir * 'int' döndürün ya da dönüş türünü değiştirin. Belki de üç 'int's içeren özel bir sınıf için? (Bu durumda iyi bir yöntem parametresi de yapardı.) – David
bunu bir "String" olarak mı döndürüyor? ya da her indeksin – 3kings