24 Nisan 2014 Perşembe

2.Dönem 3.Ödev

Bu ödevde 6 tane sınıfımız var. Fakat bizi ilgilendiren kısım iki sınıf.
Letter Sınıfı;
public class Letter implements Summable, Comparable {

 String ltr;
 public Letter(String ltr) {
  super();
  this.ltr = ltr;
 }
 @Override
     public int compareTo(Object obj) {
        if(obj instanceof Letter){
  String x= this.ltr; //Karşılaştırılacak karakteri tutuyoruz.
         String k=((Letter) obj).ltr; //Verilen karakteri tutuyoruz.
   int a=0, b=0;
  //Karakterleri Alphabet sınıfındaki static alphabet stringini kullanarak
  //sırasını belirliyoruz.
    for(int i=0;i<Alphabet.alphabet.length();i++)
    {
       char z=Alphabet.alphabet.charAt(i);
       if(x.equals(z+"")) a=i;
       if(k.equals(z+"")) b=i;
     }
  if(a>b) return -1; //Verilen karakter daha önce geliyorsa.
         else if(a==b) return 0; //Eşitse
  else return 1; //Verilen karakter daha sonra geliyorsa
   }
  else return -2; //Verilen parametre Letter objesi değilse
   }

 @Override
 public Object sum(Object obj) {
          if (obj instanceof Letter) {
    return this.ltr+((Letter) obj).ltr;
  } else

  return null;
 }

    public Object sortedSum(Object obj) {
       int a=0, b=0;
       String x= this.ltr;
       String k=((Letter) obj).ltr;
   for(int i=0;i<Alphabet.alphabet.length();i++)
     {
       char z=Alphabet.alphabet.charAt(i);
       if(x.equals(z+"")) a=i;
       if(k.equals(z+"")) b=i;
   }
   if(this.ltr.equals(((Letter)obj).ltr)) return this.ltr;
               else if(a<b) return x+k;
        else if(a==b) return x;
        else return k+x;
  }
}
Number Sınıfı;

public class Number implements Summable, Comparable {
 
 Integer nmb;

 // Don't change
 public Number(Integer nmb) {
  super();
  this.nmb = nmb;
 }
 @Override
 public int compareTo(Object obj) {
  if(obj instanceof Number){
    int x=((Number)obj).nmb; 
    int y= this.nmb; 
           if(x<y) return -1;
   else if(x==y) return 0;
   else return 1;
  }
  else return -2;
 }
      @Override
 public Object sum(Object obj) {
  if(obj instanceof Number)
   {
    return ((Number)obj).nmb+this.nmb; 
          }
 else return null;
 }
}
Ödevin tamamına ise; buradan ulaşabilirsiniz

0 yorum:

Yorum Gönder