# public boolean contains (Object obj) > true or false



## Kathy (11. Jul 2006)

Hallo Java-Profis...

ich habe grad eine Aufgabe vor mir mit der ich nicht weiterkomme. Ich finde sie einfach zu abstrakt. So oder so ähnlich würde sie aber in unserer Informatik-Prüfung dran kommen. Natürlich nur als "1er-oder 2-erBremse"   

Aber trotzdem 3P zusätzlich können nie schaden. Vielleicht kann mir jemand von euch den Lösungsansatz erklären. Will jetzt auch nicht dass ihr meine "Arbeit" erledigt. Ich wills halt einfach nur verstehen und die 3P   

Wär echt klasse wenn jemand helfen könnten ...also hier die Aufgabe:

Geben Sie die Implementierung der Methode "Prüfung anmelden" an.
Sie können verweden:
- einen Prüfungs-Konstruktor mit einer passenden Struktur
- die ArrayList-Methode _public boolean contains (Object obj)_;
  diese gibt "true" zurück, wenn die Liste das Element _obj_ enhält, andernfalls "false".



meine Idee:

public boolean contains(Object obj) {
...

_dann hörts schon auf  _

 

würd dann mit _if _weitermachen und irgendwas mit _equals_ vergleichen ...? *Was meint ihr?*


----------



## Murray (11. Jul 2006)

Kathy hat gesagt.:
			
		

> Geben Sie die Implementierung der Methode "Prüfung anmelden" an.
> Sie können verweden:
> - einen Prüfungs-Konstruktor mit einer passenden Struktur
> - die ArrayList-Methode _public boolean contains (Object obj)_;
> diese gibt "true" zurück, wenn die Liste das Element _obj_ enhält, andernfalls "false".



Das kann doch nicht die ganze Aufgabe sein??? Es wird vorgegeben, wie die Methode heissen soll, und welche Konstrukte man verwenden darf. Irgendwie vermisse ich eine Vorgabe bzgl. dessen, was die Methode machen soll. ???:L


----------



## Kathy (11. Jul 2006)

...dachte ich auch ...aber vielleicht ists einfacher als man denkt die Methode sollte halt mit return einfach nur true oder false oder sowas zurückliefern wenn Objekt obj in der ArrayList enthalten ist.

LG Kathy


----------



## Kathy (11. Jul 2006)

...was wahrscheinlich nur noch fehlt ist eine passende Rückgabeanweisung ... da bin ja leider überfragt  :bahnhof:


----------



## Murray (11. Jul 2006)

Aber was soll die Methode denn als Parameter bekommen? Und gibt es im Programm schon eine ArrayList, in der Objekte vom Typ "Pruefung" (Umlaute sollte man in Bezeichnern lieber vermeiden) enthalten sind?


----------



## Einwegdose (11. Jul 2006)

Ich habs mal probiert (ganze Klasse) .. hoffe das war so gedacht 


```
import java.util.*;

public class AL {

 ArrayList<String> myarr = new ArrayList<String>();

  public AL() {
   myarr.add("Test");
   myarr.add("Hallo");
   myarr.add("Banane");
   myarr.add("Kaffee");
   myarr.add("Uhr");
  }

  public void go() {
   System.out.print("Wort pruefen: ");
   Scanner sc = new Scanner(System.in);
   boolean result = contains(sc.next());
   if ( result ) System.out.println("Das Wort ist in der ArrayList vorhanden !");
   else System.out.println("Das Wort ist nicht in der ArrayList vorhanden !");
  }
  
  public boolean contains (Object obj) {
   for ( int x=0; x<myarr.size(); x++ ) {
    if ( obj.toString().equals(myarr.get(x).toString()) ) return true;
   }
   return false;
  }

  public static void main(String[] args) {
   AL al = new AL();
   al.go();
  }
}
```

mfg


----------



## Murray (11. Jul 2006)

@einwegdose
Aber die Methode contains gibt es in ArrayList ja schon, und diese Methode soll ja auch benutzt werden. Insofern könnte man Dein Beispiel vereinfachen:

```
public boolean contains (Object obj) {
   return ( obj != null) && (myarr.contains( obj.toString());
  }
```


----------



## Einwegdose (11. Jul 2006)

Achso, ok 
Hatte mich eigentlich bis heute noch nie mit ArrayList beschäftigt


----------



## kathy (12. Jul 2006)

Murray hat gesagt.:
			
		

> @einwegdose
> Aber die Methode contains gibt es in ArrayList ja schon, und diese Methode soll ja auch benutzt werden. Insofern könnte man Dein Beispiel vereinfachen:
> 
> ```
> ...




vielen dank   

aber was heisst dieses myarr. - das haben wir noch gar nicht gelernt.


----------



## Beni (12. Jul 2006)

Schaumal, was Einwegdose geschrieben hat.


```
ArrayList<String> myarr = new ArrayList<String>();
```

Eine Variable vom Typ "ArrayList".


----------



## SamHotte (12. Jul 2006)

Ich denke, in der Aufgabe soll die Implementierung der Methode "Prüfung anmelden" angegeben werden und nicht die von "contains" - letztere darf man benutzen.


----------



## Dit (12. Jul 2006)

Sozusagen der Name der ArrayListe der oben deklariert wird


----------



## Snape (12. Jul 2006)

SamHotte hat gesagt.:
			
		

> Ich denke, in der Aufgabe soll die Implementierung der Methode "Prüfung anmelden" angegeben werden und nicht die von "contains" - letztere darf man benutzen.


Exakt, so sehe ich das auch. Ein Prüfling soll/will sich anmelden, und die Aufgabe ist nun zu schauen, ob er sich bereits angemeldet hat. Wenn nein, dann Anmeldebestätigung und Eintrag in die Anmeldeliste. Wenn ja, entsprechenden Hinweis ausgeben. So würde ich das umsetzen, basierend auf allerdings sehr dürftige Informationen aus der Aufgabenstellung.


----------



## Kathy (12. Jul 2006)

Snape hat gesagt.:
			
		

> SamHotte hat gesagt.:
> 
> 
> 
> ...



...hmm ja ich glaube auch dass die Aufgabe so gedacht ist !


----------



## kathy (14. Jul 2006)

...und wie würde nun die Implementierung der Methode Prüfung anmelden aussehen?  :bahnhof:


----------



## SamHotte (17. Jul 2006)

So, wie Snape geschrieben hat ...


----------



## puddah (17. Jul 2006)

```
// @return true = Pruefung angemeldet, false = pruefung ist bereits angemeldet
public boolean pruefungAnmelden(Pruefung p){
    if(pruefungList.contains(p)){
        return false;
    } else {
        pruefungList.add(p);
        return true;
    }
}
```

pruefungList wäre hier dann ebenfalls eine membervariable


----------

