14. Vize Soru ve Cevapları

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

SORU 2) Aşağıdaki soruları verilen UML diyagramına göre cevaplayınız.

a) Kedi sınıfının Java kodunu yazınız (5 puan).


b) Akvaryum sınıfının Java kodunu yazınız (10 puan).
c) Insan sınıfının kendiniTanit metodunun Java kodunu yazınız. Bir insan kendini tanıtırken
ismini söyler ve ardından evcil hayvanları ile ilgili bilgi verir. (Örneğin; Ali+ 5 kedim+2 balığım
var) (10 puan).
d) Insan sınıfının kendiniTanit metodunun UML etkileşim şemasını çiziniz (10 puan).
e) Insan sınıfının UML sınıf şemasında gösterilmemiş eksik iki metodu vardır. Bu metotların
neler olduğunu keşfediniz ve kaynak kodlarını yazınız (10 puan).
f) AnaProgram sınıfının main metodunun kaynak kodunu yazınız (10 puan).
SORU 3) Bir kesir (fraction) sınıfı kodlayınız. Kodunuza iki kesiri toplayan methodu ekleyin.
(Öncelikle bilinmelidir ki rasyonel sayılar kümesi reel sayılar kümesinden farklıdır. Kesirli
sayıların paydası 0 olamaz. Bu kontrolün sağlanması da gerekmektedir. Ayrıca iki kesir
toplanırken paydalarının eşit olması gerekmektedir. Bu kontrolü sağlamak için de gerekli
işlemleri gerçekleştirin) (30 puan).
CEVAP 2)

a) Kedi sınıfının kaynak kodunu yazınız.

public class Kedi {


private String isim;
public Kedi(String isim) { this.isim = isim; }
public String getIsim() { return isim; }
public void setIsim(String isim) { this.isim = isim; }
}

b) Akvaryum sınıfının kaynak kodunu yazınız.

public class Akvaryum {


private int balikSayisi;
public Akvaryum(int balikSayisi) { this.balikSayisi = balikSayisi; }
public void balikEkle( ) { balikSayisi++; }
public void balikSil( int adet ) {
if( adet <= balikSayisi ) {
balikSayisi -= adet;
}
else
balikSayisi = 0;
}
public int getBalikSayisi() { return balikSayisi; }
}

c) Insan sınıfının kendiniTanit metodunun kaynak kodunu yazınız.

public String kendiniTanit( ) {


String tanitim = "Adım: " + isim;
if( akvaryum != null )
tanitim += ", Balık sayısı: " + akvaryum.getBalikSayisi();
if( kedi != null )
tanitim += ", Kedimin adı: " + kedi.getIsim( );
return tanitim;
}
d) Insan sınıfının kendiniTanit metodunun UML etkileşim şemasını çiziniz.

e) Insan sınıfının UML sınıf şemasında gösterilmemiş eksik iki metodu vardır.

public void setAkvaryum(Akvaryum akvaryum) { this.akvaryum = akvaryum; }

public void setKedi(Kedi kedi) { this.kedi = kedi; }

f) AnaProgram sınıfının main metodunun kaynak kodunu yazınız.

public static void main( String[] args ) {


Insan ahmet = new Insan("Ahmet Yılmaz","01234567890");
Akvaryum ak = new Akvaryum(5); ahmet.setAkvaryum(ak);
Kedi torpil = new Kedi("Torpil");
ahmet.setKedi(torpil);
System.out.println(yunus.kendiniTanit());
}
CEVAP 3)

class kesir{
public int getPay() {
return pay;
}
public void setPay(int pay) {
this.pay = pay;
}
public int getPayda() {

return payda;
}
public void setPayda(int payda) {
if(payda==0) // kesirli sayıların paydası 0 olamaz.
payda = 1;
this.payda = payda;
}
public kesir(int pay, int payda) {
setPayda(payda);
setPay(pay);
}
int obeb(int a,int b){
if(b==0)
return a;
else
return obeb(b,a%b);
}
public void topla(kesir k){
int obeb = obeb(k.payda, payda);
k.pay *= payda/obeb;
pay *= k.payda/obeb;
pay += k.pay;
payda = (k.payda/obeb ) * (payda/obeb);
}
int pay;
int payda;
}

You might also like