DLL Funktion in Java einbinden

Status
Nicht offen für weitere Antworten.
S

skoopy

Gast
Hallo Zusammen

und zwar habe ich da in Problem beim Einbindn der MemBrainDLL.dll. Die MemBrainDLL.dll beinhaltet funktionen, die ich alle für mein Java-Programm zur Verfuegung stellen möchte. Da ich zum ersten mal eine DLL in java einbinde, hab ich zunächst einmal das Typische "HelloWorld" Beispiel durchgespielt, was auch erfolgreich war. Nur war es da so, dass man sich die DLL selber generiert hat und später wieder aufgerufen hat.

Aber bei MemBrain, liegen mir nur die DLL, die Lib und die Header Datei. Bevor ich alle Methoden integriere, habe ich erst eine Klase geschrieben, die mir die Funktion MB_GetVersionInfo aus gibt. doch das hat nicht geklappt und jetzt wollte ich euch fragen, ob irgennt jemand hier den Fehler aufspührt. Was übersehe ich hier???

Hier die Codes:

MamBrain_inc.java:
Code:
public class MemBrain_inc{
	static{
		System.loadLibrary("MemBrainDll");
		}
		
		public native void MB_GetVersionInfo();
		
		public static void main(String args[]) {
			MemBrain_inc caller= new  MemBrain_inc();
			caller.MB_GetVersionInfo();
			}
	}

MemBrain_inc.h
Code:
#include <jni.h>


#ifndef _Included_MemBrain_inc
#define _Included_MemBrain_inc


/// Allows use of plain C-Compilers, too
#ifdef __cplusplus
extern "C" {
#endif


/// Definition of the membrain integer as 32 bit integer
typedef long int _MB_INT;


/// Possible return values of most MemBrain DLL interfaces
typedef enum
{
  MEMBRAIN_ERR = -1,      ///< An error occured
  MEMBRAIN_OK = 0,        ///< Call successful
  
} EMBRetVal;


/// Set by 
#ifndef _USRDLL
#define _USRDLL 0
#endif


#if _USRDLL == 0

/// Get the version information string of the DLL.
/// Specify maximum length of string to be copied (excluding the terminating '\0'.
/// A terminating '\0' will be attached in every case.
EMBRetVal __declspec(dllimport) __stdcall _MB_GetVersionInfo(char* pInfo, _MB_INT maxLen);

/// Add a new neural net to the DLL's internal array of neural nets.
void __declspec(dllimport) __stdcall _MB_AddNet(void);

/// Get number of currently available neural nets in the DLL's array
_MB_INT __declspec(dllimport) __stdcall _MB_GetNetCount(void);

/// Get index of the currently selected net
_MB_INT __declspec(dllimport) __stdcall _MB_GetSelectedNet(void);

/// Delete the neural net at index <idx>.
EMBRetVal __declspec(dllimport) __stdcall _MB_DeleteNet(_MB_INT idx);

/// Select one of the available nets as the currently active one.
EMBRetVal __declspec(dllimport) __stdcall _MB_SelectNet(_MB_INT idx);

/// Load the currently active neural net from the given *.mbn file (including path)
EMBRetVal __declspec(dllimport) __stdcall _MB_LoadNet(const char* pFileName);

/// Save a MemBrain neural net to the given *.mbn file (including path)
EMBRetVal __declspec(dllimport) __stdcall _MB_SaveNetAs(const char* pFileName);

/// Save an already loaded MemBrain neural net (overwrite original file)
EMBRetVal __declspec(dllimport) __stdcall _MB_SaveNet();

/// Reset the net. All activations and link spikes are set to 0.
void __declspec(dllimport) __stdcall _MB_ResetNet();

/// Get number of input neurons in the net
_MB_INT __declspec(dllimport) __stdcall _MB_GetInputCount();

/// Get number of output neurons in the net
_MB_INT __declspec(dllimport) __stdcall _MB_GetOutputCount();

/// Get name of input neuron at index <idx>. Specify maximum length
/// of string to be copied (excluding the terminating '\0'.
/// A terminating '\0' will be attached in every case.
EMBRetVal __declspec(dllimport) __stdcall _MB_GetInputName(_MB_INT idx, char* pName, _MB_INT maxLen);

/// Get name of output neuron at index <idx>. Specify maximum length
/// of string to be copied (excluding the terminating '\0'.
/// A terminating '\0' will be attached in every case.
EMBRetVal __declspec(dllimport) __stdcall _MB_GetOutputName(_MB_INT idx, char* pName, _MB_INT maxLen);

/// Apply an activation value to the input neuron at index <idx>.
EMBRetVal __declspec(dllimport) __stdcall _MB_ApplyInputAct(_MB_INT idx, double act);

/// Get the activation value of the input neuron at index <idx>.
EMBRetVal __declspec(dllimport) __stdcall _MB_GetInputAct(_MB_INT idx, double* pAct);

/// Perform one think step of the net 
void __declspec(dllimport) __stdcall _MB_ThinkStep();

/// Get the activation value of the output neuron at index <idx>.
EMBRetVal __declspec(dllimport) __stdcall _MB_GetOutputAct(_MB_INT idx, double* pAct);

/// Get the output value of the output neuron at index <idx>.
EMBRetVal __declspec(dllimport) __stdcall _MB_GetOutputOut(_MB_INT idx, double* pOutVal);

/// Get index of the last output winner neuron of the net. Return -1 if unknown. Else
/// return the output neuron index of the winner neuron.
_MB_INT __declspec(dllimport) __stdcall _MB_GetOutputWinnerNeuron();

/// Get the activation range of the input neuron at index <idx>.
EMBRetVal __declspec(dllimport) __stdcall _MB_GetInputActRange(_MB_INT idx, double* pActMin,
                                                               double* pActMax);

/// Get the activation range of the output neuron at index <idx>.
EMBRetVal __declspec(dllimport) __stdcall _MB_GetOutputActRange(_MB_INT idx, double* pActMin,
                                                               double* pActMax);



#endif

JNIEXPORT void JNICALL Java_MemBrain_inc_MB_GetVersionInfo()
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif

#endif

ob ich die Lib jetzt brauch oder nicht, ist mir auch unklar, aber laut den Beispielen nicht wirklich, oder? Die Dll heist MemBrainDll.dll

Ich hoffe, das mir hier jemand weiterhelfen kann und die Infos auch ausrecihend sind. Fuers erste wollte ichmir nur die Version der DLL ausgeben lassen.

danke und Gruss
skoopy
 

Murray

Top Contributor
Mit JNI kann man nicht irgendwelche beliebigen DLLs einbinden. Normalerweise geht man so vor:

1. Java-Klasse mit den gewünschten Methodensignaturen anlegen (natürlich als native deklarieren)
2. Mit javah die Header generieren
3. C-Code schreiben, der die generierten Methoden implementiert (in deinem Fall eben durch Aufruf der entsprechenden Methoden der existierende DLL; allerdings müssen dabei die Typen von der Java- in die C-Welt und zurück konvertiert werden)

Du brauchst also auf jeden Fall eine zweite DLL.
 
S

skoopy

Gast
Hallo

wenn das ganze über JNI laufen soll, habe ich verstanden, dass es so laufen soll. Ich habe doch oben meinen ersten Ansatz gepostet. Und zwar wollte ich das ganze erst einmal nur für die eine Funktion GetVersionInfo() zum laufen bringen, bevor ich mich mit dem Rest anlege, aber dass hat nicht funktioniert.

Was habe ich denn da falsch gemacht?? Und ausserdem wieso 2 DLL?? :?
Verstehe ich nicht, denn die DLL ist ja aus dem C++-Code entstanden oder muss noch in dem C++-Code die mit javah erstellte header includiert werden?? Kann mir jemand vielleicht explizit am oben aufgeführten Beispiel zeigen was da falsch ist oder gar fehlt??
 

Murray

Top Contributor
Sorry, da habe ich dich falsch verstanden - und den Code auch nicht bis zum Ende gelesen; ich dachte, du hättest eine "normale" (= nicht JNI) DLL, deren Funktionen du von Java aus aufrufen willst, so wie man das in C machen würden. Aber wenn deine DLL bereits eine JNI-DLL, dann reicht die natürlich aus.

Im Header-File wird eine JNI-Funktion exportiert
Code:
JNIEXPORT void JNICALL Java_MemBrain_inc_MB_GetVersionInfo()
  (JNIEnv *, jobject);

Das würde zur Deklaration in der deiner Klasse schonmal passen (Klasse MemBrain_inc im Default-Package, Instanz-Methode void MB_GetVersionInfo()).

Den Quelltext zur DLL hast du ja wohl nicht; insofern ist unklar, was die Methode überhaupt machen soll - gibt sie eine Versionsnummer auf die Standardausgabe aus?

Was funktioniert denn nicht? Gibt es einen Laufzeitfehler?
 
S

skoopy

Gast
Hallo,

nein nein, du hast schon richtig verstanden, die DLL ist unabhängig von JNI entstanden. DIe DLL ist aus einem C++-Programm generiert worden, wobei eine Lib, eine Header und eine DLL entstanden sind, und genau diese DLL möchte ich gern ansteuern. Das muss doch gehen oder nicht?? Wenn ich mir überlege, dass ich eine Funktion in Kernel32.dll ansprechen möchte, dann kann ich doch auch nicht den ganzen c-code selber schreiben?!?!? Oder :roll:

Also wie gesagt, das was ich oben gepostet habe, ist meine Klasse, die die MB_GetVersionInfo() ausgibt. Die Deklaration von der Methode findest du darunter im Header auf Zeile 39. Hilft dir das vielleicht weiter??

Weisst du dann wie ich vorgehen muss?? Ich muss ja die ganzen Methoden erst in eine Javaklasse deklarieren oder?! Kannst du mir vielleicht sagen, was ich da falsch habe? Oder was noch fehlt? Und wie es für dieses Beispiel aussehen muss, damit es funktioniert??

Danke für deine Mühe
gruss
skoopy
 

Murray

Top Contributor
Hast Du die Header-Datei nachträglich geändert? So einfach geht das nicht :noe:

Die DLL enthält und exportiert doch nur die Methoden, die im ursprünglichen Header-File enthalten waren.

Wenn du die Quellen der DLL nicht hast, dann braucht du eben doch zwei DLLs.

Fang erstmal mit der Java-Klasse an und beschränke dich ruhig erstmal auf eine Funktion, aber definiere die Argument- und Rückgabetype gelicht korrekt.

Bsp:
Die GetVersionInfo-Methode sollte irgendeinen String holen. Also würde sie doch wohl so aussehen
Code:
public native String getVersionInfo();

Daraus generierst du dir mit javah eine Header-Datei.

Jetzt brauchst du C-Code für die JNI-Dll. Dort importierst du sowohl das Header-File der extierenden Datei als auch das neu generierte. Und dann musst du die getVersionInfo-Methode noch implentieren, indem du die korrespondierende Methode der DLL (hier also EMBRetVal __declspec(dllimport) __stdcall _MB_GetVersionInfo(char* pInfo, _MB_INT maxLen)) aufrufst. Dabei musst du dich um die Umwandlung der Daten kümmern; die DLL-Methode schreibt die Daten ja in eine vorher zu allokierenden Speicherbereich, woraus du dann eine jstring machen musst. Das alles erfordert also etwas C-Programmierung .
 
S

skoopy

Gast
Hallo

ist es möglich, dass gesamte vorgehen explizit an diesem Beispiel aufzuschreiben??

Bitte einmal die Java-Klasse, wie sie konkret aussehen muss und auch die dazugehörige C-Klasse, um ich es dann auch auf die anderen Methoden übertragen kann.

Zu deiner Frage, ob ich die Header nachträglich geaendert habe, ja, ich habe da die jni.h open inkludiert und noch am ende des Quellcodes den export definiert. Aber vielleicht habe ich das ja falsch gemacht.

Ich hoffe, dass du mir dieses Beispiel vormachen kannst, dann mache ich das für die übrigen methoden, und die kann ich ja auch alle in einer klasse definieren, die ich mit javac kompiliere , mit javah die header erstelle und am ende die DLL erzeuge!

wenn ich dich dann richtig verstanden habe, dann muss ich mit meiner erstellten DLL und der MembrainDll zusammen arbeiten?? Wie dass dann geht muesstes du mir dann auch sagen, denn da habe ich jetzt gar keine Ahnung von, zwei miteinander komunizierende DLLS??!?! ???:L

herzlichen Dank vorab für deine Mühe und nen lieben gruss von
skoopy
 

Murray

Top Contributor
skoopy hat gesagt.:
Bitte einmal die Java-Klasse, wie sie konkret aussehen muss und auch die dazugehörige C-Klasse, um ich es dann auch auf die anderen Methoden übertragen kann.
Die Java-Klasse war doch schon nicht schlecht (auch wenn die Benamung etwas unkonventionell war). Wie schon gesagt solltest du dir lediglich noch Gedanken über die Typen machen. Die native Methode liefert einen int zurück (Fehler / kein Fehler) und erwartet einen Character-Pointer (also die Adresse eines vor dem Aufruf vom Verwender allokierten Speicherbereiches) sowie die maximale Anzahl von Zeichen, die in diesen Speicherbereich geschrieben werden dürfen (also die Länge des vor dem Aufruf allokierten Speicherbereiches). Das passt nicht so gut zur Java-Welt; dort würde man wohl den String als Rückgabewert erwarten und eventuelle Fehler eher als Exception; um das aber einfacher zu gestalten, kann man vielleicht auch damit leben, wenn die Methode im Fehlerfall einfach null zurückliefert. Dann würde die Signatur wohl in etwa so aussehen:
Code:
/**
 * Obtain native version-info
 * @return version-info-string or null, if an error has occurred within the native implementation
 */
public native String getVersionInfo();

Den C-Code kann ich leider gerade nicht aus dem Ärmel schütteln (ich muss gestehen, mein C- und C++-Fähigkeiten sind nach 11 Jahren Java etwas verkümmert). Auf jeden Fall wirst du einen Speicherbereich allokieren müssen, den an die eigentlich Funktion übergeben und hinterher - wenn kein Fehler aufgetreten ist - mit der passenden JNI-Hilfsfunktion (newStringUTF oder so ähnlich) daraus einen Java-Verträglichen Pointer machen, den du dann zurückgeben kannst. Dazu sollten sich aber tonnenweise Beispiele im Netz finden lassen

skoopy hat gesagt.:
Zu deiner Frage, ob ich die Header nachträglich geaendert habe, ja, ich habe da die jni.h open inkludiert und noch am ende des Quellcodes den export definiert. Aber vielleicht habe ich das ja falsch gemacht.
Die Header-Datei beschreibt das Interface der DLL und wurde benutzt, um die DLL zu bauen. Wenn du die Datei nachträglich änderst, kommen dadurch keine neuen Methoden in DLL (genausowenig, wie man einem Haus nachträglich mehr Zimmer verpassen kann, indem man einfach ein zusätzliches Stockwerk in die Baupläne malt - relevant war der Bauplan natürlichg nur, als das Haus gebaut wurde)
 
S

skoopy

Gast
Hallo,

also so richtig verstanden, wie die 2 DLLs miteinander kommunizieren können habe ich nicht verstanden. Am liebsten würde ich mir das ganze an diesem einem Beispiel anschauen. Gibt es vielleicht hier irgennt jemand, der mir auf diese Art und Weise weiterhlfen kann? Die genaue Java-Klasse einmal und die genaue C-Klasse zum anderen, Ich habe sowas naemlich nich nicht gesehen und auch noch nie gemacht!

Waere echt super, wenn mir jemand hier weiterhelfen kann. AUch an dich Muray ein herzliches Dankeschön für deine ganze Mühe. Leider hilft das mir alles nicht weiter, weil ich nicht viel verstanden habe.

Ausserdem hatte ich auch gehört, dass man das ganze vielleicht mit CORBA machen könnte, auf diese Art und Weise brauch man nichts n der DLL machen und kann sie 1 zu 1 uebernehmen?!?!? Weisss da jemand ielleicht mehr drüber??

Danke und Gruss von
skoopy
 

Murray

Top Contributor
skoopy hat gesagt.:
also so richtig verstanden, wie die 2 DLLs miteinander kommunizieren können habe ich nicht verstanden.
Die DLLs müssen nicht großartig "kommunizieren"; beide DLLs werden nachher von der Java-VM geladen und befinden sich dann im gleichen Adressraum, so dass man die Funktionen aufrufen kann, als würden sie alle in einer Exe stecken.

skoopy hat gesagt.:
Ausserdem hatte ich auch gehört, dass man das ganze vielleicht mit CORBA machen könnte, auf diese Art und Weise brauch man nichts n der DLL machen und kann sie 1 zu 1 uebernehmen?!?!? Weisss da jemand ielleicht mehr drüber??
Mit CORBA wird das viel komplizierter, das willst du nicht machen.

Es gibt allerdings Ansätze, native DLLs zu nutzen, ohne dabei eigenen JNI-Code zu schreiben. Vielleicht hilft dir JNA weiter.
 
S

skoopy

Gast
hallo

jna kann ich doch nur für windows-dll benutzen oder habe ich das falsch verstanden? Geht das auch mit beliebigen dlls?
 

Murray

Top Contributor
Ich habe das nicht so verstanden, dass das auf bestimmte DLLs eingeschränkt wäre; gearbeitet habe ich damit aber auch noch nicht.
 
S

skoopy

Gast
Hallo leute

stehe noch an der selben Stelle, wie anfangs auch! Ist hier etwa niemand, der schonmal eine beliebige DLL angesteuert hat, der das vielleicht kurz einmal am aufgeführten Beispiel vormachen könnte?? :cry:

Schade
skoopy
 

thE_29

Top Contributor
Du kannst keine beliebige Dll ansteuern!
Ist das so schwer zu begreifen?

Du kannst nur eine via javah -jni generierte dll ansteuern! Da kommt eine .h Datei raus und diese Funktionsköpfe musst du nehmen. Du musst auch immer das package so belassen, etc.. Da kannst nicht einfach hergehen und Spaßhalber alles abändern oder nativ auf die kernel.dll zugreifen!
Du brauchst ne Wrapper DLL oder JNA!
Welchen Weg willst den nehmen?
 

Murray

Top Contributor
"Vormachen" kann ich das immer noch nicht; ich kann dir aber sagen, was ich an deiner Stelle tun würde.

Zunächst mal würde ich Java kurz vergessen und ein Textprogramm in C schreiben: einfach eine main, die eine Methode aus der DLL aufruft und das Resultat auf der Console ausgibt. Jetzt noch das Header-File der DLL includen (damit der Compiler zufrieden ist) und gegen die Lib linken (damit der Link nicht wegen "unresolved externals" meckert). Wenn das Testprogramm übersetzbar ist und auch läuft, dann ist eine Hürde schon mal überwunden.

Und dann vergisst man den C-Teil wieder und schreibt sich die Java-Klasse mit den gewünschten native Methoden. Dann lässt man sich daraus die Header für die JNI-DLL generieren (wie du das mit dem HelloWorld-Beispiel ja schon gemacht hast).

Dann implementiert man die JNI-DLL erstmal mit Dummy-Code (also z.B. einfach einen hart codierten String zurückliefern). Wenn das alles übersetzbar ist und auch läuft, ist die zweite Hürde geschafft.

Und jetzt nur noch beides "zusammenpacken": mach das, was du in der main-Methode des C-Testprogramms gemacht hast, einfach da, wo du bisher den hart codierten String zurücklieferst - fertig!
 
S

skoopy

Gast
Hallo wieder ich :roll:

hmmm das Problem ist einfach, dass ich bisher noch nichts mit c/c++ gemacht habe, bis auf das HelloWorld Beispiel :? deswegen drücke ich mich davor! Aber vielleicht muss ich doch dran.... :(

Wie sieht es denn bei JNA genau aus?? Muss ich da auch noch in c doktoren?? Entschuldigt bitte meine nervigen Fragen, wollte mir wirklich keine Feinde angeln :?

Bin auch für jede Hilfe und Tipps dankbar! Vorallem Murray danke fuer deine Geduld, weiss bin nicht einfach :roll:

gruss
skoopy
 

Murray

Top Contributor
skoopy hat gesagt.:
hmmm das Problem ist einfach, dass ich bisher noch nichts mit c/c++ gemacht habe, bis auf das HelloWorld Beispiel :? deswegen drücke ich mich davor! Aber vielleicht muss ich doch dran.... :(
Wenn du JNI verwenden willst, wird das nicht ohne C-Programmierung gehen.

skoopy hat gesagt.:
Wie sieht es denn bei JNA genau aus?? Muss ich da auch noch in c doktoren??
Nein, das sollte nicht notwendig sein (allerdings habe ich damit wie gesagt selbst noch nichts gemacht)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Java Funktion: externe Daten vom Internet einbinden Java Basics - Anfänger-Themen 2
V Die Funktion des neuen Schlüsselworts in Java Java Basics - Anfänger-Themen 1
N Abfragen eines Textes aus einem JTextField in Java, Funktion, CardLayout, Java Basics - Anfänger-Themen 2
Aprendiendo Gibt es in der JAVA-API eine Funktion, die eine Dezimalzahl in eine binäre Zahl umwandelt? Java Basics - Anfänger-Themen 8
shiroX OOP Java Funktion implementieren Java Basics - Anfänger-Themen 3
C OOP Java JButton mit Funktion belegen Java Basics - Anfänger-Themen 3
M Feldaustritt Funktion in java Java Basics - Anfänger-Themen 5
G Internet-Javascript-Funktion per Java-Programm aufrufen Java Basics - Anfänger-Themen 6
C Aus Java eine Javascript Funktion aufrufen Java Basics - Anfänger-Themen 14
A RegEx für java funktion Java Basics - Anfänger-Themen 3
G check-funktion mit java schreiben! Java Basics - Anfänger-Themen 3
G Funktion "Remote Java Application" in Eclipse Java Basics - Anfänger-Themen 2
S Quadratische Funktion mit Java primitiv zeichnen. Java Basics - Anfänger-Themen 6
B java funktion Java Basics - Anfänger-Themen 11
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
J Rekursive Funktion und return statement Java Basics - Anfänger-Themen 3
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
I Generische Funktion Java Basics - Anfänger-Themen 3
E Pervasive PSQL insert funktion geht nicht Java Basics - Anfänger-Themen 9
T Log Funktion erstellen Java Basics - Anfänger-Themen 1
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
H Den Wert einer rekursiven Funktion bestimmen Java Basics - Anfänger-Themen 5
J In main() Datei geöffnet, von anderer Funktion beschreiben Java Basics - Anfänger-Themen 3
M toDouble Funktion Java Basics - Anfänger-Themen 3
Tino1993 Ellipse über draw Funktion ohne spur wandern lassen Java Basics - Anfänger-Themen 6
X Ackermannsche Funktion Java Basics - Anfänger-Themen 32
F Arrays: Mathematische Funktion Java Basics - Anfänger-Themen 19
P Dezimal zu Hexadezimalzahl Funktion Java Basics - Anfänger-Themen 5
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
M Arrays in Funktion Kopieren und Bearbeiten Java Basics - Anfänger-Themen 4
B Funktion mit mehreren Rückgabewerten aka Prozeduren? Java Basics - Anfänger-Themen 12
J Dynamisches Array durch split()-Funktion? Java Basics - Anfänger-Themen 3
D Funktion nur 1 Rueckgabewert Java Basics - Anfänger-Themen 9
M Wie lang eine Funktion/Methode? Java Basics - Anfänger-Themen 51
N den inhalt eines array per funktion ausgeben Java Basics - Anfänger-Themen 8
R Ackermann Funktion Java Basics - Anfänger-Themen 2
B Treetable (rekursive Funktion) aufbauen von Datenbank Java Basics - Anfänger-Themen 4
D Funktion zwei Arraylisten zu verleichen ob gleich funktioniert nicht Java Basics - Anfänger-Themen 26
T Rekursion Warum bricht meine Funktion nicht ab Java Basics - Anfänger-Themen 4
N Funktion funktioniert nicht immer Java Basics - Anfänger-Themen 6
E Contain-funktion überlisten Java Basics - Anfänger-Themen 4
J Division ohne Arithmetische Funktion Java Basics - Anfänger-Themen 2
S Funktion in Klasse auslagern Java Basics - Anfänger-Themen 4
J Problem mit Boolean bei Funktion! Java Basics - Anfänger-Themen 5
S Gibt es eine Funktion, die gewissermaßen eine Reihe von instanceOf() vereinheitlicht? Java Basics - Anfänger-Themen 19
D Nullstellen einer Funktion 3. Grades mit Horner Schema Java Basics - Anfänger-Themen 6
D Funktion gibt Dimension zurück Java Basics - Anfänger-Themen 11
A Rekursion Funktion in eine Iterativ Funktion umwandeln Java Basics - Anfänger-Themen 9
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
B Zugriffe in einer Klasse / Funktion Java Basics - Anfänger-Themen 9
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
J Array innerhalb einer Funktion mehrfach iniatilisieren Java Basics - Anfänger-Themen 4
T Lambda-Funktion bei Binärbäumen Java Basics - Anfänger-Themen 13
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
M Thread.sleep() Funktion Java Basics - Anfänger-Themen 1
B OOP Wie benutze ich die Main Funktion richtig? Java Basics - Anfänger-Themen 10
H Nicht Static Funktion ohne Objekt aufrufen? Java Basics - Anfänger-Themen 6
K Methoden mit den Namen accept. Welche Funktion haben diese? Java Basics - Anfänger-Themen 2
E Compare-Funktion bei eigener Klasse Java Basics - Anfänger-Themen 4
S Threads run - Funktion wird nur einmal ausgeführt. Java Basics - Anfänger-Themen 8
B Anwender soll mathematische Funktion eingeben können, Einfachster Fnktionsplotter Java Basics - Anfänger-Themen 4
R If Funktion funktioniert nicht :P Java Basics - Anfänger-Themen 3
H Funktion in Hintergrund und Vordergrund ausführen Java Basics - Anfänger-Themen 11
S Funktion die mir fuer einen String eine Zahl zwischen 0.0 und 1.0 zurueckliefert..? Java Basics - Anfänger-Themen 9
S Funktion eines Stacks Java Basics - Anfänger-Themen 4
T Integer-Objekt über Hash-Funktion in Array ablegen Java Basics - Anfänger-Themen 1
S Separate Funktion für JUnit-Test Java Basics - Anfänger-Themen 3
D Keine Funktion bei "else" Java Basics - Anfänger-Themen 5
S timer funktion mit javax panel Java Basics - Anfänger-Themen 3
T Klassen Funktion in einem Funktionsaufruf definieren Java Basics - Anfänger-Themen 3
F Funktion eines JButton in einen Vektor verlagern Java Basics - Anfänger-Themen 4
X Eval-Funktion mit Variable Java Basics - Anfänger-Themen 2
T Screenreader Funktion Java Basics - Anfänger-Themen 2
S Wertetabelle einer Funktion f : R -> R Java Basics - Anfänger-Themen 1
P Methoden suche funktion die char wert ausgibt wenn man numerischen wert und radix angibt Java Basics - Anfänger-Themen 1
1 repaint() Funktion erzeugt Flackern Java Basics - Anfänger-Themen 33
J Taschenrechner Funktion Java Basics - Anfänger-Themen 18
R if funktion ohne else - Bedingung trifft nicht zu, ausgabe nicht nachvollziehbar Java Basics - Anfänger-Themen 7
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
F Funktion immer zur vollen Stunde? Java Basics - Anfänger-Themen 3
S ResultSet close() in funktion nich möglich. Java Basics - Anfänger-Themen 8
C Meine erste Funktion Java Basics - Anfänger-Themen 12
J Funktion um JSON per Post senden/emfangen Java Basics - Anfänger-Themen 3
G OOP Aus Objekt auf Funktion der erzeuger Klasse zugreifen? Java Basics - Anfänger-Themen 11
D Binäre Suche für Integerarray in rekursiver Funktion Java Basics - Anfänger-Themen 5
M Interface als Konstruktorparameter nutzen, um Funktion zu plotten Java Basics - Anfänger-Themen 14
NR_EIGHT Benutzereingabe in Funktion verpacken Java Basics - Anfänger-Themen 4
J Funktion definieren und ausfuehren Java Basics - Anfänger-Themen 27
D Loop Funktion für Robot Klasse Java Basics - Anfänger-Themen 5
N mathematische Funktion Java Basics - Anfänger-Themen 29
R Programm verstehen, Funktion Java Basics - Anfänger-Themen 4
C Automatisches Ausfuehren einer Funktion beim Laden eines Jar files Java Basics - Anfänger-Themen 3
O Nicht Standard Form boolesche Funktion in Standard Form parsen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben