Öğrenci bir arkadaş java ile alakalı bir konuda benden yardım istedi kendisi yapamamış ancak benim de java ile alakalı bilgim olmadığı için kodlayamadım. Yarın teslim etmesi gerekiyormuş ve sorunsuz çalıştıramamış uygulamasını.
Rica etsem bu konulardan anlayan arkadaşlar yazacağım sorunun kod bloğunu yazabilir mi?
SORU:
1. Ödev: Nesne Dizileri ile İşlemler
Bu ödevde, ders notları içinde bulunan Kişi sınıfını kullanarak bazı işlemler yapacağız:
Parametre olarak kd kişi dizisini alacak ve kişi nesnelerinin yaş ortalamasını (tamsayı olarak) bulup sonuç değeri olarak döndüren
public static int yasOrtalama(Kisi[] kd)
imzalı "yaş ortalama" işlevini yazın.
Parametre olarak aldığı kd kişi dizisindeki kişi nesnelerinden yaşı parametre olarak verilen m değerinden büyük veya eşit olanları ekrana listeleyen
public static void buyukleriListele(Kisi[] kd, int m)
imzalı "yaşa göre listele" işlevini yazın.
Şimdi, yazacağınız main işlevin içinde;
Kişilerin kimlik bilgilerini (kimlik no, ad, soyad, yaş) tanımlayacağınız (tek boyutlu) kişi dizisinin içine okutun. Okuma işlemi, kimlik no olarak sıfır değeri girildiğinde sona erecektir. Alternatif olarak, klavyeden okumak yerine, kişi bilgilerini diziye ilk değer ataması ile program içinden de verebilirsiniz. En fazla 30 kişiye ait kimlik bilgilerinin girileceğini varsayabilirsiniz.
Bu listedeki kişileri ekrana listeleyin (bunun için isterseniz, buyukleriListele işlevini kullanabilirsiniz).
Yazdığınız yasOrtalama ve buyukleriListele işlevlerini kullanarak, oluşturduğunuz dizideki kişilerin yaşlarının ortalamasını ekrana yazıp, yaşları bulunan ortalamadan büyük veya eşit olanları listeleyin.
Tüm bu işlevleri yazacağınız bir sınıfın içinde tanımlayabilirsiniz. Ödev teslimi için bu sınıfınıza ait .java dosyasını yüklemeniz yeterli olacaktır.
Değerlendirme 10 üzerinden yapılacak olup, geç teslim edilen ödevlerden 0.5 x geç teslim edilen gün sayısının karesi kadar ceza puanı kesilecektir.
Başarılar.
Örnek Çıktı:
Tam liste:
Kimlik No: 1111111111 - İsim: Sarı, Ahmet - Yaş:26
Kimlik No: 2222222222 - İsim: Beyaz, Mehmet - Yaş:20
Kimlik No: 3333333333 - İsim: Turuncu, Ali - Yaş:14
Kimlik No: 4444444444 - İsim: Siyah, Veli - Yaş:46
Kimlik No: 5555555555 - İsim: Gri, Ayşe - Yaş:38
Kimlik No: 6666666666 - İsim: Mavi, Fatma - Yaş:32
Yaş ortalaması: 29
Yaşları ortalamadan büyük veya eşit olanlar:
Kimlik No: 4444444444 - İsim: Siyah, Veli - Yaş:46
Kimlik No: 5555555555 - İsim: Gri, Ayşe - Yaş:38
Kimlik No: 6666666666 - İsim: Mavi, Fatma - Yaş:32
----------------------------------------------------------
SORUDA BAHSEDİLEN KİŞİ SINIFI
// Kişi sınıfı
public class Kisi {
private long kn; // kimlik no
private String ad, soyad; // ad, soyad
private int yas; // yaş
// yaratıcı işlev, nesnenin tüm öz niteliklerine parametrede verilen değerleri atar.
public Kisi(long kn, String ad, String soyad, int yas) {
this.kn=kn;
this.ad=ad;
this.soyad=soyad;
this.yas=yas;
}
// getKn işlevi, kimlik no'yu döner.
public long getKn() {
return kn;
}
// getAd işlevi, ad'ı döner.
public String getAd() {
return ad;
}
// getSoyad işlevi, soyad'ı döner.
public String getSoyad() {
return soyad;
}
// getTamIsim işlevi, soyad ve ad'ı döner.
public String getTamIsim() {
return soyad+", "+ad;
}
// getYas işlevi, yaş'ı döner.
public int getYas() {
return yas;
}
// setAd işlevi, verilen s değerini ad'a atar.
public void setAd(String s) { // s boş (uzunluğu sıfır) ise hata ver
if(s.length()==0) throw new RuntimeException("Hata: Ad bos");
ad=s; // değilse, ad'a aktar
}
// setSoyad işlevi, verilen s değerini soyad'a atar.
public void setSoyad(String s) { // s boş (uzunluğu sıfır) ise hata ver
if(s.length()==0) throw new RuntimeException("Hata: Soyad bos");
soyad=s; // değilse, soyad'a aktar
}
// setYas işlevi, verilen n değerini yaş'a atar.
public void setYas(int n) { // n negatif ise hata ver
if(n<0) throw new RuntimeException("Hata: Negatif yas");
yas=n; // değilse, yaş'a aktar
}
}
Bu ödevde, ders notları içinde bulunan Kişi sınıfını kullanarak bazı işlemler yapacağız:
Parametre olarak kd kişi dizisini alacak ve kişi nesnelerinin yaş ortalamasını (tamsayı olarak) bulup sonuç değeri olarak döndüren
public static int yasOrtalama(Kisi[] kd)
imzalı "yaş ortalama" işlevini yazın.
Parametre olarak aldığı kd kişi dizisindeki kişi nesnelerinden yaşı parametre olarak verilen m değerinden büyük veya eşit olanları ekrana listeleyen
public static void buyukleriListele(Kisi[] kd, int m)
imzalı "yaşa göre listele" işlevini yazın.
Şimdi, yazacağınız main işlevin içinde;
Kişilerin kimlik bilgilerini (kimlik no, ad, soyad, yaş) tanımlayacağınız (tek boyutlu) kişi dizisinin içine okutun. Okuma işlemi, kimlik no olarak sıfır değeri girildiğinde sona erecektir. Alternatif olarak, klavyeden okumak yerine, kişi bilgilerini diziye ilk değer ataması ile program içinden de verebilirsiniz. En fazla 30 kişiye ait kimlik bilgilerinin girileceğini varsayabilirsiniz.
Bu listedeki kişileri ekrana listeleyin (bunun için isterseniz, buyukleriListele işlevini kullanabilirsiniz).
Yazdığınız yasOrtalama ve buyukleriListele işlevlerini kullanarak, oluşturduğunuz dizideki kişilerin yaşlarının ortalamasını ekrana yazıp, yaşları bulunan ortalamadan büyük veya eşit olanları listeleyin.
Tüm bu işlevleri yazacağınız bir sınıfın içinde tanımlayabilirsiniz. Ödev teslimi için bu sınıfınıza ait .java dosyasını yüklemeniz yeterli olacaktır.
Değerlendirme 10 üzerinden yapılacak olup, geç teslim edilen ödevlerden 0.5 x geç teslim edilen gün sayısının karesi kadar ceza puanı kesilecektir.
Başarılar.
Örnek Çıktı:
Tam liste:
Kimlik No: 1111111111 - İsim: Sarı, Ahmet - Yaş:26
Kimlik No: 2222222222 - İsim: Beyaz, Mehmet - Yaş:20
Kimlik No: 3333333333 - İsim: Turuncu, Ali - Yaş:14
Kimlik No: 4444444444 - İsim: Siyah, Veli - Yaş:46
Kimlik No: 5555555555 - İsim: Gri, Ayşe - Yaş:38
Kimlik No: 6666666666 - İsim: Mavi, Fatma - Yaş:32
Yaş ortalaması: 29
Yaşları ortalamadan büyük veya eşit olanlar:
Kimlik No: 4444444444 - İsim: Siyah, Veli - Yaş:46
Kimlik No: 5555555555 - İsim: Gri, Ayşe - Yaş:38
Kimlik No: 6666666666 - İsim: Mavi, Fatma - Yaş:32
----------------------------------------------------------
SORUDA BAHSEDİLEN KİŞİ SINIFI
// Kişi sınıfı
public class Kisi {
private long kn; // kimlik no
private String ad, soyad; // ad, soyad
private int yas; // yaş
// yaratıcı işlev, nesnenin tüm öz niteliklerine parametrede verilen değerleri atar.
public Kisi(long kn, String ad, String soyad, int yas) {
this.kn=kn;
this.ad=ad;
this.soyad=soyad;
this.yas=yas;
}
// getKn işlevi, kimlik no'yu döner.
public long getKn() {
return kn;
}
// getAd işlevi, ad'ı döner.
public String getAd() {
return ad;
}
// getSoyad işlevi, soyad'ı döner.
public String getSoyad() {
return soyad;
}
// getTamIsim işlevi, soyad ve ad'ı döner.
public String getTamIsim() {
return soyad+", "+ad;
}
// getYas işlevi, yaş'ı döner.
public int getYas() {
return yas;
}
// setAd işlevi, verilen s değerini ad'a atar.
public void setAd(String s) { // s boş (uzunluğu sıfır) ise hata ver
if(s.length()==0) throw new RuntimeException("Hata: Ad bos");
ad=s; // değilse, ad'a aktar
}
// setSoyad işlevi, verilen s değerini soyad'a atar.
public void setSoyad(String s) { // s boş (uzunluğu sıfır) ise hata ver
if(s.length()==0) throw new RuntimeException("Hata: Soyad bos");
soyad=s; // değilse, soyad'a aktar
}
// setYas işlevi, verilen n değerini yaş'a atar.
public void setYas(int n) { // n negatif ise hata ver
if(n<0) throw new RuntimeException("Hata: Negatif yas");
yas=n; // değilse, yaş'a aktar
}
}
Şimdiden yardımcı olacak arkadaşlara teşekkürler.