Generische Methoden

bluebaby

Aktives Mitglied
Hallo,
Kann mir jemand vielleicht bei meiner Aufgabe helfen ich komme gerade nicht weiter.

Aufgabenstellung: Schreibe eine Klasse GenericUtils, die eine Klassenmethode zufallsArray hat, die aus einem als Parameter übergebenen Array zufällig einen Wert auswählt und zurück gibt. Weiters soll die Klasse eine generische Such-Methode besitzen, die ein generisches Array und einen Wert als Parameter übernimmt, diesen dann im Array sucht und den Index der Stelle an der der gesuchte Wert steht zurück gibt. Wenn der Wert nicht gefunden wird, gib -1 zurück.

Ich weiß nicht warum ich beim Aufruf keine Zufallszahl herausbekommen es steht immer -->GenericUtils@f4a24a

Das habe ich daweil:
Java:
 public class GenericUtils {
	
	public static void main (String[]args){
		 GenericUtils g1=new GenericUtils();
		 int r[]=new int[10];
		 g1.zufallsArray(r);
		 System.out.println(g1);
		 
	   	}
	
	public static <T> int[] zufallsArray(int[] a){
		
		for(int i=0; i<10; i++){
			a[i]=(int)Math.random();
		}
		
		return a;
			
			
		}
		
	}

bluebaby
 

Der Müde Joe

Top Contributor
>System.out.println(g1);

println ruft immer die toString()-Methode des Objektes auf. In deinem Fall die von Object
Object (Java Platform SE 6)

Du müsstest den Return Wert schon übernehmen und diesen dann ausgeben, und nicht das GenercUtils Object.
Zudem brauchst du gar kein Object, da die Methode statisch ist --> GenericUtil.zufallsArray(array)

>übergebenen Array zufällig einen Wert auswählt und zurück gibt.

Das musst du ein gefülltes Array übergeben und dann ein Element zwischen 0 und array.length zurückgeben.
also:

return array[ ramdonZahle(zwischen o und length des arrays ]
 

bluebaby

Aktives Mitglied
>System.out.println(g1);

println ruft immer die toString()-Methode des Objektes auf. In deinem Fall die von Object
Object (Java Platform SE 6)

Du müsstest den Return Wert schon übernehmen und diesen dann ausgeben, und nicht das GenercUtils Object.
Zudem brauchst du gar kein Object, da die Methode statisch ist --> GenericUtil.zufallsArray(array)

>übergebenen Array zufällig einen Wert auswählt und zurück gibt.

Das musst du ein gefülltes Array übergeben und dann ein Element zwischen 0 und array.length zurückgeben.
also:

return array[ ramdonZahle(zwischen o und length des arrays ]

Muss ich das gefüllte Array in der Mainmethode zurückgeben?, da du von return sprichst?. Oder soll ich ein gefülltes Array in zufallsArray zurückgeben?
 

Landei

Top Contributor
Lies doch einfach noch man ganz langsam die Aufgabenstellung: Die Methode soll einen Wert aus dem Array zurückliefern, nicht das Array selbst (wäre ja auch doof, das haben wir ja schon da).

Mal aus'm Kopp - ohne Gewähr:

Java:
import java.util.Random;

public class GenericUtils {

    private static final Random random = new Random();
    
    public static void main (String[] args){
         Integer[] array = new Integer[]{3,5,7,9,12};
         System.out.println(randomValue(array));
    }
    
    public static <T> T randomValue(T[] array){
        return array[random.nextInt(array.length)];
    }
        
}

Den zweiten Teil der Aufgabe (das Suchen) mach mal selbst...
 

bluebaby

Aktives Mitglied
Hallo,
Ich hab jetzt versucht die suchArray Methode zu schreiben aber ich hab da Probleme mit den Rückgabetyp. Wenn ich int statt T schreibe gibts auch probleme.

Java:
public static <T> T sucheArray(int[]array, int zahl){
	    	for(int i=0; i<10; i++){
	    		array[i]=i+1;
	    	}
	    	
	    	
	    	
	    	for(int i =0; i<10; i++){
	    		if(array[i]==zahl){
	    			return array[i];
	    		}else
	    			return -1;
	    	}
	    	// return null;
	    }
 

Der Müde Joe

Top Contributor
Naja. Wenn T rein geht muss auch ein T gesucht werden aber der index ein int zurückgegeben werden
Java:
public static <T> int indexOf(T[] array, T data) {
	for (int i = 0 ; i < array.length ; i++) {
		if (array[i] == data) { // oder data.equals(array[i])
			return i;
		}
	}
	return -1;
}
 

faetzminator

Gesperrter Benutzer
Du musst beide Parameter anpassen: [c]<T> T sucheArray(T[] array, T element)[/c]

Edit:
Ich nehm nicht an, dass [c]==[/c] gemeint ist. Im Normalfall vergleicht man Objekte mit [c]equals()[/c].
*hier stand Käse*
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
D statische generische Methoden Java Basics - Anfänger-Themen 3
F Collections Generische Klasse/Methoden Java Basics - Anfänger-Themen 19
F Generische Methoden Problem Java Basics - Anfänger-Themen 5
F Generische Typen auch für statische Methoden? Java Basics - Anfänger-Themen 13
J Generische Methoden Java Basics - Anfänger-Themen 6
H generische Methoden Java Basics - Anfänger-Themen 5
I Generische Funktion Java Basics - Anfänger-Themen 3
B Generische Typen für dynamisches Formular Java Basics - Anfänger-Themen 3
A Generische Klassen/Interface Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
Kirby.exe Generische Objekt Instanz erstellen Java Basics - Anfänger-Themen 14
D Generische Klasse Java Basics - Anfänger-Themen 6
H linkedlist generische klassen Java Basics - Anfänger-Themen 169
M Datentypen Generische Datentypen - Syntax Java Basics - Anfänger-Themen 25
O Generische Typen Java Basics - Anfänger-Themen 9
M Generische Klassen "FlaschenRegal" Java Basics - Anfänger-Themen 13
Queiser Datentypen 2 generische Datentypen für eine Schnittstelle Java Basics - Anfänger-Themen 1
M Generische Liste aus Comparable-Objekten Java Basics - Anfänger-Themen 6
J Sortierte generische Liste Java Basics - Anfänger-Themen 1
S Wie muss ich die Generische Methode schreiben? Java Basics - Anfänger-Themen 6
M Methoden Generische Klasse - ändern einzelner Attributwerte Java Basics - Anfänger-Themen 2
S generische methode mit verschiedenen datentypen Java Basics - Anfänger-Themen 3
N Generische Schnittstellen Java Basics - Anfänger-Themen 2
B generische LinkedList nach Häufigkeit der Elemente füllen Java Basics - Anfänger-Themen 6
D Generische Typen Java Basics - Anfänger-Themen 20
S Erste Schritte Generische Klassen sind toll ....aber warum sollte ich das je benutzen? Java Basics - Anfänger-Themen 3
L Generische Liste Java Basics - Anfänger-Themen 4
B Generische Queue programmieren Java Basics - Anfänger-Themen 5
S Generische Methode soll Objekte als Parameter erlauben die bestimmtes Interface implementieren^ Java Basics - Anfänger-Themen 9
A Probleme mit MergeSort Generische Liste Java Basics - Anfänger-Themen 0
A Generische Methode Java Basics - Anfänger-Themen 4
H Collections List in List<SpecificType> als stat. generische Methode zurückgeben Java Basics - Anfänger-Themen 4
J Probleme mit static generische Klasse Java Basics - Anfänger-Themen 6
M Generische Liste Java Basics - Anfänger-Themen 4
B Generische Methode Java Basics - Anfänger-Themen 2
B Generische Klasse Java Basics - Anfänger-Themen 7
L Generische Warteschlange Java Basics - Anfänger-Themen 8
A Generische Datentypen Java Basics - Anfänger-Themen 8
bluerob generische ArrayList -> erbende Objekte auslesen Java Basics - Anfänger-Themen 24
L Generische Containerklasse Java Basics - Anfänger-Themen 9
V Methoden Umwandlung in generische Methode Java Basics - Anfänger-Themen 8
A Generische Collections und Vererbung Java Basics - Anfänger-Themen 2
S Generische HashMap Java Basics - Anfänger-Themen 2
M Klassen Generische Klassen, Personen und Gruppen Java Basics - Anfänger-Themen 6
L Generische ArrayList, CastProblem Java Basics - Anfänger-Themen 2
W generische Module Java Basics - Anfänger-Themen 2
S Generics und "generische Feldzuweisungen" Java Basics - Anfänger-Themen 5
C unterschied generische typen und supertypen als methodenparameter Java Basics - Anfänger-Themen 3
D Datentypen Generische Collections und Warnings Java Basics - Anfänger-Themen 8
E Generische Arrays durch Typecast mit Object-Array Java Basics - Anfänger-Themen 11
K Generische Klasse mit innerer Klasse | Problem mit Array Java Basics - Anfänger-Themen 6
B Was passiert, wenn eine konkrete Klasse von generische Klasse erbt? Java Basics - Anfänger-Themen 14
B Generische Vererbung was ist der Unterschied? Java Basics - Anfänger-Themen 4
W Generische Klassen Java Basics - Anfänger-Themen 3
W Generische Klassen und Casting Java Basics - Anfänger-Themen 6
J array über generische arraylist Java Basics - Anfänger-Themen 7
B instanceof Prüfung für generische Typen Java Basics - Anfänger-Themen 5
N 2 dimensionale generische Arrays Java Basics - Anfänger-Themen 9
H Statische generische Methode Java Basics - Anfänger-Themen 2
G Frage zum Ungang mit Generische Datentypen Java Basics - Anfänger-Themen 4
0x7F800000 generische arrays mal wieder )-; Java Basics - Anfänger-Themen 6
D generische methode <T> void . Java Basics - Anfänger-Themen 9
G Doppelt verkettete, generische Liste Java Basics - Anfänger-Themen 11
S Parameterübergabe: Generische Klasse Java Basics - Anfänger-Themen 4
S generische Felder Java Basics - Anfänger-Themen 2
P Generische Klasse Java Basics - Anfänger-Themen 8
C Generische Klassen, das erste Mal. Java Basics - Anfänger-Themen 8
F Generische Methode - was bringt der Wildcard Operator? Java Basics - Anfänger-Themen 7
F Generische Liste von generischen Objekten. Java Basics - Anfänger-Themen 3
N generische HashMap und Iterator Java Basics - Anfänger-Themen 2
H generische Bausteine, heterogene Datenstrukturen Java Basics - Anfänger-Themen 2
J generische klassen neue Instanz Java Basics - Anfänger-Themen 5
H Generische Klassen. Java Basics - Anfänger-Themen 16
emreiu Methoden Rekursive Methoden Runter- & Hochzählen Java Basics - Anfänger-Themen 2
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
Renjiroo Java Bmi Rechner mit Methoden Java Basics - Anfänger-Themen 4
frager2345 Thread - Methoden synchronized deklarieren Java Basics - Anfänger-Themen 10
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
Alen123 Erstes Arbeiten mit Methoden. Java Basics - Anfänger-Themen 5
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
M Erklärung von Ausnahmebehandlung in Methoden Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
L Rekursive Methoden Java Basics - Anfänger-Themen 14
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
W Methoden aufrufen - auch klassenübergreifend? Java Basics - Anfänger-Themen 9
Kotelettklopfer Methoden nicht aufrufbar Java Basics - Anfänger-Themen 34
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben