2016-03-28 26 views
-4

Merhaba Ben aşağıdaki arabirim verildi ve bu arabirimi kullanarak çanta uygulamak gerekir, yöntemleri nasıl kullanılacağı biraz kafam karıştı, herhangi bir yardım/ipucu takdir edilecektir. Torbaya ürün eklemem gerekiyor ve yinelenen öğeleri kabul edebilmeli. Sonra bir öğeyi kaldırdım ve bir eşya buldum. Böylejava arabirim yöntemleri kullanımı

public interface Things<T> extends Iterable<T> { 
    public int size(); 
    public boolean add(T x); 
    public T remove(T x); 
    public T find(T x); 
    public void clear(); 
} 
//Implementing thing using bag 
public class Bag<T> implements Things<T> { 

    @Override 
    public int size() { 
     // TODO Auto-generated method stub 
     return 0; 
    } 

    @Override 
    public String add(T x) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    public String remove(T x) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    public String find(T x) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

} 


public class ThingsDemo { 


    public static void main(String args[]) 

    { 
     How to I use add(), remove(), and find method here? 


    } 

} 
+2

Kafanız karıştıysa ve nereden başlayacağınızı bilmiyorsanız, StackOverflow sorulacak yer değil. Profesörünüzle veya öğretmen yardımcınızla konuşmalısınız. StackOverflow bir eğitim sitesi değildir ve temel eğitim veya kod yazma hizmeti sağlamamaktadır. –

+0

Önceki çalışmalarınızda öğrendiklerinizi dersinizde kullanın. Yakın olduğunu düşündüğünüz bir kodunuz olduğunda, buraya gönderin ve daha fazla yardım alabilirsiniz. – BPS

+0

@ user6027133 - Stackoverflow sizin için ödevlerinizi yapmak için uygun değildir. Kaba olmak bunu değiştirmez. Eğitmeniniz ve okulunuz tarafından izin verilirse, uygulamanızla ilgili belirli bir soru sorabilirsiniz. Lütfen ["Ev ödevi sorularını nasıl yanıtlarım ve cevaplarım?" Bölümüne bakın) (http://meta.stackexchange.com/questions/10811/how-do-i-ask-and-answer-homework-questions). –

cevap

0

şey: Burada

public interface Things<T> extends Iterable<T> { 
    public int size(); 
    public boolean add(T x); 
    public T remove(T x); 
    public T find(T x); 
    public void clear(); 
} 
//Implementing thing using bag 
public class Bag<T> implements Things<T> { 
    private ArrayList<T> list = new ArrayList<T>(); 

    @Override 
    public int size() { 
     return list.size(); 
    } 

    @Override 
    public boolean add(T x) { 
     list.add(x); 
    } 

    @Override 
    //It's weird why the remove method returns T 
    //Sine you already pass x of type T as parameter 
    public T remove(T x) { 
     list.remove(x); 
     return x; 
    } 

    @Override 
    public T find(T x) { 
     //Since you already know x, what is find() searching for? 
     return null; 
    } 

} 


public class ThingsDemo { 


    public static void main(String args[]) 

    { 
     Bag<String> bag = new Bag<>(); 
     bag.add("cat"); 
     bag.remove("cat"); 
    } 
} 
+0

Daha iyi bir çözüm. sınıf yerine arayüz kullanın. Arabirim odaklı gelişim. –

-1

gitmek. Torba sınıfınızın içinde String dönüş tipi kullanmamalısınız. Arayüz içinde beyan ettiğinize benzer olmalıdır. örnek için ekleme yöntemini görün ve benzer şekilde kaldırma ve diğer yöntemleri uyguladı.

public interface Things<T> extends Iterable<T> { 
    public int size(); 
    public boolean add(T x); 
    public T remove(T x); 
    public T find(T x); 
    public void clear(); 
} 

import java.util.ArrayList; 
import java.util.Iterator; 
import java.util.List; 

public class Bag<T> implements Things<T> { 

List<T> data = new ArrayList<T>(); 

@Override 
public int size() { 
    data.size(); 
} 

@Override 
public boolean add(T x) { 
    data.add(x); 
    return false; 
} 

@Override 
public T remove(T x) { 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public T find(T x) { 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public void clear() { 

} 

@Override 
public Iterator<T> iterator() { 
    return null; 
} 
} 

public class ThingsDemo { 


public static void main(String args[]) 

{ 
    Things<String> things = new Bag<>(); 

    things.add("something"); 
    System.out.println(things.size()); 
    things.remove("something"); 
    System.out.println(things.size()); 

    } 

} 
+0

İpucu için teşekkürler – user6027133