Je fais un exercice, qui nécessite DogSchool pour implémenter PetSchool. J'ai l'intention de faire une liste de tableau des animaux qui se sont inscrits dans l'école pour animaux de compagnie, et l'école de chien doivent distinguer les chiens des autres animaux. La caractérisation des chiens est leur cri "Wau! Wau!". J'ai corrigé. Mais il ne peut toujours pas distinguer les chiens des chats.Interface Java et sa mise en œuvre
Niveau = animal
Ceci est le code d'interface.
import java.util.ArrayList;
public interface PetSchool {
boolean add(Tier tier);
boolean addAll(ArrayList<Tier> tiere);
boolean remove(Tier tier);
ArrayList<Tier> getTiere();
}
This is the code of Implementation.
Please tell me what's wrong with it.
import java.util.ArrayList;
public class DogSchool implements PetSchool {
public ArrayList<Tier> tiere= new ArrayList<Tier>();
@Override
public boolean add(Tier t){
if(t.gibLaut().equalsIgnoreCase("Wau! Wau!")){
return tiere.add(t);
}
else {
return false;
} }
@ Override
public boolean addAll(ArrayList<Tier> tiere){
return this.tiere.addAll(tiere);
}
@Override
public boolean remove(Tier t){
if(!t.gibLaut().equalsIgnoreCase("Wau! Wau!")){
return tiere.remove(t);
}
else{
return false;
}
}
@Override
public ArrayList<Tier> getTiere() {
return new ArrayList<Tier>(this.tiere);
}
}
Eh bien, le problème se produit dans le demoTest:
import java.util.ArrayList;
public class TierDemo {
public static void main(String[] args) {
System.out.println("Test Teil 2:");
DogSchool schule = new DogSchool();
schule.add(new Hund());
schule.add(new Katze());
schule.add(new Hund());
schule.add(new Katze());
schule.addAll(tiere);
for (Tier t : schule.getTiere()) {
System.out.println(t.gibLaut());
}
}
Après la compilation, il montre:
Test Teil 2:
Wau! Wau!
Wau! Wau!
Miau!
Wau! Wau!
ce qui est mieux, mais il ne peut pas dire distinguer les chiens de chats.
Vous n'avez pas expliqué votre code. –
'Mon code ne fonctionne pas' n'est pas un problème clair. Pourriez-vous clarifier? – jhamon
À quoi ressemble l'erreur du compilateur? Aussi, s'il vous plaît poster le code pour votre classe de niveau. –