Kann ich die Nullpointer Exception umgehen

Nico1999

Aktives Mitglied
Hi die Funktion macht die Ausgangsstellung für ein Damenspiel
Java:
public void ausgangsAufstellung() {
        for (int i=0;i<this.größe;i++) {
            for(int j=0;j<this.größe;j++) {
                if(i<(this.größe-2)/2&&(sindXYUngerade(i,j)|sindXYGerade(i,j))) {
                    this.damenbrett.get(i)[j].setFigur(new Bauer(i,j,Farbe.WEIS,"BW"));
                }else if((i==this.größe/2|i==this.größe/2+1)&&(sindXYUngerade(i,j)|sindXYGerade(i,j))) {
                    this.damenbrett.get(i)[j].setFigur(null);
                }else if(i>this.größe/2+1&&i<this.größe&&(sindXYUngerade(i,j)|sindXYGerade(i,j))) {
                    this.damenbrett.get(i)[j].setFigur(new Bauer(i,j,Farbe.SCHWARZ,"BS"));
                }               
            }
        }
    }
Wenn ich das jetzt ausdrucken möchte und nur BS für schwarz und BW für weiß kann ich das ja nicht über
Java:
System.out.println(this.damenbrett(x)[y].getFigur().getTyp)
// also BS oder BW oder null
machen, da ich da ne nullpointerexception bekomme, also wie gebe ich das am besten in der konsole aus, dass auf meine Feld nichts steht ?
 

mihe7

Top Contributor
Oh, da gibt da viele Möglichkeiten. Persönlich bevorzuge ich den Weg, null zu vermeiden, aber natürlich kann man auch mit null arbeiten, beispielsweise mit einer Hilfsmethode

Java:
String formatTyp(Figur figur) {
    return figur == null ? "--" : figur.getTyp();
}

lässt sich schreiben:
Java:
System.out.println(formatTyp(damenbrett(x)[y].getFigur()));
 

Staarfightaar

Bekanntes Mitglied
du kannst ja deinem feld einfach ne methode geben
Java:
public boolean IstBesetzt(){
    return this.figur != null;
}
und das rufst du einfach auf bevor du getfigur machst somit ist der zugriff gesichert dass es kein nullpointer ist wenn das feld besetzt ist
 

Staarfightaar

Bekanntes Mitglied
zzusätzlich wüde ich dir mal auslagern empfehlen da du doppelten code hast

kommt jetzt drauf an, sind i und j des bauern zugreifbar? wenn aj könntest du sowas machen

Java:
public void setOnField(Figur figur)
{
    this.damenbrett(figur.x)[figur.y].setFigur(figur)
   
}
public void InitializeEmpty(int i,int j)
{
    this.damenbrett(figur.x)[figur.y].setFigur(null);
}
somit wird dein code zu
Java:
if(i<(this.größe-2)/2&&(sindXYUngerade(i,j)|sindXYGerade(i,j))) {
                   setOnFeld(new Bauer(i,j,Farbe.WEIS,"BW"));
                }else if((i==this.größe/2|i==this.größe/2+1)&&(sindXYUngerade(i,j)|sindXYGerade(i,j))) {
                    initializeEmpty(i,j);
                }else if(i>this.größe/2+1&&i<this.größe&&(sindXYUngerade(i,j)|sindXYGerade(i,j))) {
                    setOnFeld(new Bauer(i,j,Farbe.SCHWARZ,"BS"));
                }
wäre lesbarer

verglichen mit deinen früheren code posts ist es aber eh schon viel besser geworden

wenn du in deiner IDE auf rechtsklick drückst und alles in einem if makierst in der boolean anweisung kannst du "inline method" das wirft dir irgendso was aus
Java:
public boolean IstWeisserBereich(...){
    return i<(this.größe-2)/2&&(sindXYUngerade(i,j)|sindXYGerade(i,j);
}
somit hast du in der obrigen methode das zb

Java:
if(istWeisserBereich(...)) {

                   setOnFeld(new Bauer(i,j,Farbe.WEIS,"BW"));

                }else if((i==this.größe/2|i==this.größe/2+1)&&(sindXYUngerade(i,j)|sindXYGerade(i,j))) {

                    initializeEmpty(i,j);

                }else if(i>this.größe/2+1&&i<this.größe&&(sindXYUngerade(i,j)|sindXYGerade(i,j))) {

                    setOnFeld(new Bauer(i,j,Farbe.SCHWARZ,"BS"));

                }
somit erreichst du dass die komplexe methode komplett unkmomplex wird

jeder hans dampf versteht
"wenn weißer bereich setz weißer bauer auf feld"

obwohl man keinen pfenning ahnung hat was erfüllt sein muss und was exakt genau erfüllt sein muss

wenn du jetzt merkst dass du dich verrechnet hast, zb in einer if bedingung "soll eig da passieren"
dann musst du NUR in "istweisserbereich"schauen .. bzw den anderen ausgelagerten if teilen..und dann wird das "bug fixen" plötzlich gar nicht mehr schwer

ich sehs oft auf twitch wo "proffesionelle entwickler" durch ne 300 zeiler methode durchscrollen und versuchen irgendwo den bug zu finden

wenn man halbwegs clean code gebacken kriegt ( if auslagern indem man rechtsklick drückt...sollte verkraftbar sein... oder inhalt in einem block also set on figur auslagert) ist das ganze gar nicht mehr so schwer

und dann kann man weiter gehen und noch mehr in clean code investieren und schwerere sachen anpacken..und dann werden die plötzlich auch nicht mehr schwer

PS dieses "refactoring in clean code" ... ist das mindeste ... warum? weil du in der IDE nur makieren musst... rechtsklick ...refactoring... und dann halt das entsprechende anklicken
das braucht 0 wissen.. nur man muss wissen dass es das gibt
 

Nico1999

Aktives Mitglied
Oh, da gibt da viele Möglichkeiten. Persönlich bevorzuge ich den Weg, null zu vermeiden, aber natürlich kann man auch mit null arbeiten, beispielsweise mit einer Hilfsmethode
wie kann ich den null in diesem Fall vermeiden, wie soll ich sonst sagen das auf dem Feld , das die klassenvariable Figur hat sagen, dass keine figur da ist.
Java:
String formatTyp(Figur figur) {
    return figur == null ? "--" : figur.getTyp();
}
diese Anweisung verstehe ich nicht was bedeutet das ? und dass dahinter
du kannst ja deinem feld einfach ne methode geben
Java:
public boolean IstBesetzt(){
    return this.figur != null;
}
und das rufst du einfach auf bevor du getfigur machst somit ist der zugriff gesichert dass es kein nullpointer ist wenn das feld besetzt ist
so eine ähnliche methode habe ich schon bereits ich möchte aber auch das irgentwas in der konsole ausgeben wird für das das Feld figur null hat .
zzusätzlich wüde ich dir mal auslagern empfehlen da du doppelten code hast

kommt jetzt drauf an, sind i und j des bauern zugreifbar? wenn aj könntest du sowas machen
was meinst du mir zugreifbar ? hier mal die Bauern klasse getter setter usw sind auch dabei
Java:
public class Bauer{
    private Koordinaten position;
    private Farbe farbe;
    private Typ typ;
Bauer(int x, int y, Farbe farbe, String typ){
    this.position = new Koordinaten(x,y);
    this.farbe=farbe;
    this.typ=typ
}
}
wenn man halbwegs clean code gebacken kriegt ( if auslagern indem man rechtsklick drückt...sollte verkraftbar sein... oder inhalt in einem block also set on figur auslagert) ist das ganze gar nicht mehr so schwer

und dann kann man weiter gehen und noch mehr in clean code investieren und schwerere sachen anpacken..und dann werden die plötzlich auch nicht mehr schwer

PS dieses "refactoring in clean code" ... ist das mindeste ... warum? weil du in der IDE nur makieren musst... rechtsklick ...refactoring... und dann halt das entsprechende anklicken
das braucht 0 wissen.. nur man muss wissen dass es das gibt
das die IDE das kann wusste ich danke für die Info
 

KonradN

Super-Moderator
Mitarbeiter
diese Anweisung verstehe ich nicht was bedeutet das ? und dass dahinter
Das ist der Ternäre Operator: https://de.myservername.com/ternary-operator-java-tutorial-with-examples

Das ist einfach nur eine Kurzform für:
Java:
String formatTyp(Figur figur) {
    if (figur == null) return "--";
    else return figur.getTyp();
}

Aber ich würde generell die anderen Ideen aufgreifen und das Konzept so umändern, dass da ein null nicht vorkommen kann (Wie schon in #2 von @mihe7 erwähnt)

Wenn man das Damebrett sieht, dann hat jedes Feld eine Figur und die kann ein Element einer Enum sein:
NONE, PAWN_BLACK, PAWN_WHITE, QUEEN_BLACK, QUEEN_WHITE.

==> Du brauchst nicht mehrere Instanzen einer Figur, so es Dir nur um die entsprechende Feldbelegung geht. Die Figut hat dann auch keine Koordinate und so. Das wäre ja auch doppelt gespeichert, den du hast ja schon die Zuweisung zu einem bestimmten Feld.

Und die Darstellung kann dann auch relativ einfach in einer Ausgabe Klasse sein, z.B. mittels einer Map<Figur, String> die intern gehalten wird mit entsprechenden Werten. NONE -> "--"; PAWN_WHITE -> "BW"; ....
Und bei der Ausgabe wird eine Methode aufgerufen, die dann lediglich ein return ausgabeMap.get(figur); macht.

Das einfach nur ganz am Rand eine Überlegung, wie ich es handhaben würde.
 

Staarfightaar

Bekanntes Mitglied
Wenn man das Damebrett sieht, dann hat jedes Feld eine Figur und die kann ein Element einer Enum sein:
NONE, PAWN_BLACK, PAWN_WHITE, QUEEN_BLACK, QUEEN_WHITE.
dann hast du aber alles doppelt

er hat ja schon ein enum farbe dh er braucht ( um zumindest den string parameter weg zu bekommen der auch doppelt gemoppelt ist )
ein figuren enum
Java:
enum Figur{
    Bauer,Springer
}
dh in seiner figur wäre dann
farbe + figur enums wert eindeutig zuzuordnen
dann hast halt Farbe.Weiss + Figur.Bauer drinnen gespeichert

o eine ähnliche methode habe ich schon bereits ich möchte aber auch das irgentwas in der konsole ausgeben wird für das das Feld figur null hat .
naja das ist ja nur die überprüfugn ob überhaupt eine figur drauf ist

die benutzung wäre so ungefähr in der Feld klasse
Java:
public String contentToString(){
    if(istBesetzt()){
        return "Figur => "+this.figur;
    }else{
        return "Figur => leer";
    }
}
ZUSÄTZLICH
gibt es "injection" dh du übergibst gleich ein fertiges objekt zb:
deine bauern klasse erzeugt ein koordinaten objekt was man folgender maßen lösen könnte
Java:
Bauer(Koordinaten koordinaten, Farbe farbe, String typ){
    this.position = koordinaten;
    ....
das mit "i und j" zugänglich war so gemeint gibts einen getter für die koordinaten? somit könntest du zb irgendwo so eine methode einbauen... ist halt wie willst ud umgehen mit den koordinaten UNGEDGINGT brauchst du es nicht!

ZUM BEISPIEL
du hast eine koordinaten klasse und da machst du so ne methode rein
Java:
public static Koordinaten forward(Farbe farbe)
{
    if(farbe == farbe.Weiss)
    {
        return new Koordinaten(0,1);
    }
    else {
        return new Koordinaten(0,-1);
    }
}
public Koordinaten add(Koordinaten koord){
new Koordinaten( this.x + koord.x, this.y +koord.y);
}
der bauer könnte bei einer bewegung dann folgendes machen
Java:
public ... move(){
    return this.position.add(Koordinaten.forward(this.farbe));
}
somit würde ein bauer als "möglichen move" ausgeben
wenn er auf koordinate ( 3 , 5 ) steht und weiss ist
würde sowas raus kommen kommen als "move ergebnis" und zwar die kordinate ( 3, 6 )


ich würde in deinem fall sogar mal vererbung durchziehen bei deiner figur
zb
Java:
public BaseFigur{
    protected Farbe farbe;
    protected Koordinaten koordinaten;
   
    // den setter brauchst du sowieso falls du mal ne figur bewegt hast, musst ja position aktualisieren
    public void setKoordinaten(Koordianten koordinaten){
        this.koordinaten = koordinaten;
    }
}

das ist ja das was IMMER da sein muss bei egal welcher figur das könnte man schon raus ziehen, deine Klasse Figur erbt halt dann von BaseFigur

was hier zusätzlich zu erwähnen ist ist dass "protected" das ding sichtbar macht bei vererbung und da du ja vererbung machst ( hast ja deinen bauer der von figur erbt... und figur von basefigur) macht es sinn manche methoden und attribute für die unterklassen sichtbar zu machen

zusatz 2:
dass die figur UND das spielfeld weis wo was wie koordinaten mäßig ist IST NICHT SCHLIMM, Unity ( game engine ) hat das genau so, die szene weis alle koordinaten und jedes spiel objekt weis auch seine koordinaten... du musst halt nur gut damit umgehen

( hier wäre observer pattern angebracht um die "synchronisation" durchzusetzen aber ich möchte dir keinen bären aufbinden :) )
 
Zuletzt bearbeitet:

KonradN

Super-Moderator
Mitarbeiter
dann hast du aber alles doppelt
Hier sind zwei Dinge wichtig:
a) Irgend etwas mit mehreren Klassen abzubilden, ist absolut in Ordnung. Natürlich kann er die Figuren so abbilden, wie ich das gezeigt habe. Unabhängig davon kann es auch die von angeführten Enums zusätzlich geben. Dann hat jede Figur hat auch och abfragbare Eigenschaften. Hier ist aber dann nicht automatisch "alles doppelt".

b) Es wurde nur eine Idee vorgestellt. Im Rahmen einer solchen Umsetzung hat man natürlich zu überlegen, was man vom alten Code noch beibehält und was nicht. Das wurde aber so tief nicht betrachtet.

c) Der Punkt mit Doppelt bezog sch doch ganz klar auf gespeicherte Daten:
Das wäre ja auch doppelt gespeichert
Das Problem ist doch offensichtlich:
this.damenbrett.get(i)[j].setFigur(new Bauer(i,j,Farbe.WEIS,"BW"));

Eine Figur hat also klar Koordinaten (i,j werden übergeben) und die Koordinaten einer Figur finden sich zugleich im Damenbrett (get(i)[j]). Du musst also aufpassen, dass Du nicht eine Figur mit Koordinaten x1,y1 hast die aber von einem Feld X2,Y2 referenziert wird i mit x1 != x2 und/oder y1 != y2. ==> Unnötige Komplexität.


Das einfach nur einmal um meinen Standpunkt zu verdeutlichen.
 

Staarfightaar

Bekanntes Mitglied
Das Problem ist doch offensichtlich:
this.damenbrett.get(i)[j].setFigur(new Bauer(i,j,Farbe.WEIS,"BW"));
mein "dann hast du alles auch doppelt" hat sich auf den string parameter "BW" = bauer weiss bezogen , hier hat man 2 mal die farbe drinnen, deswegen da das figuren enum

haben aneinander vorbei geredet... hatte auch noch was zu den koordinaten dazu editiert
 

Nico1999

Aktives Mitglied
noch kurze frage gibts es in der IDE auch eine Funktion mit der man einschalten kann, dass einem die methoden angezeigt werden wie wenn bei einem Objekt
bei z.b.
Java:
Figur f=Figur();
f.//methodennamen werden mir angezeigt
// aber bei
private boolean istXgrößerY(){
    return x>y;
}public void macheWas(){
    ist// hier werden mir nicht die Methodennamen angezeigt kann man das irgentwie anschalten in eclipse
}
 

Neumi5694

Top Contributor
noch kurze frage gibts es in der IDE auch eine Funktion mit der man einschalten kann, dass einem die methoden angezeigt werden wie wenn bei einem Objekt
bei z.b.
Java:
Figur f=Figur();
f.//methodennamen werden mir angezeigt
// aber bei
private boolean istXgrößerY(){
    return x>y;
}public void macheWas(){
    ist// hier werden mir nicht die Methodennamen angezeigt kann man das irgentwie anschalten in eclipse
}
drück mal einfach ctrl + space an der Stelle. Das ist ein gängiger Standard.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Nullpointer Exception Problem Allgemeine Java-Themen 5
Kirby.exe Nullpointer Exception bei Queue Allgemeine Java-Themen 5
M javafx ComboBox- Nullpointer Exception Allgemeine Java-Themen 6
0 Animiertes Gif anzeigen - NullPointer Exception Allgemeine Java-Themen 19
B Nullpointer Exception in Array Allgemeine Java-Themen 15
H Nullpointer exception, Attribute in Label schreiben? Allgemeine Java-Themen 4
G Nullpointer Exception nach KeyPressed Allgemeine Java-Themen 6
N Compiler-Fehler Warum erhalte ich einen Nullpointer Fehler? Allgemeine Java-Themen 2
T Nullpointer. :( Allgemeine Java-Themen 31
L Nullpointer Exceptions werden nicht angezeigt Allgemeine Java-Themen 5
W Threads NullPointer: Konstruktor "zu langsam"? Allgemeine Java-Themen 3
I NullPointer während while(){} Allgemeine Java-Themen 4
G Nullpointer trotz vorherigem Nullcheck Allgemeine Java-Themen 2
V Array aus Instanzen, NullPointer Allgemeine Java-Themen 4
E YQL Api Test - NullPointer Allgemeine Java-Themen 9
A Compiler-Fehler Woher kommt der NullPointer? (Collections & Iterator) Allgemeine Java-Themen 7
D Nullpointer abfangen Allgemeine Java-Themen 7
H NullPointer finde den grund nicht Allgemeine Java-Themen 9
Z NullPointer in einem VO Allgemeine Java-Themen 14
M Nullpointer Exeption bei String Array Allgemeine Java-Themen 9
A NullPointer bei System.getProperty("file.seperator") Allgemeine Java-Themen 4
A NullPointer bei konvertierung von byteArr --> Object Allgemeine Java-Themen 3
medic NullPointer verwirrt mich total. Allgemeine Java-Themen 3
G NullPointer. in einer Datenstruktur Allgemeine Java-Themen 2
G NullPointer ? wieso? Allgemeine Java-Themen 7
W Queue.remove() -> no such element exception Allgemeine Java-Themen 17
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
N A java Exception has occured Allgemeine Java-Themen 8
G javafx "class path" exception Allgemeine Java-Themen 5
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10
tom.j85 Exception bei Abfrage von Ländercodes in API? Allgemeine Java-Themen 13
S Exception Allgemeine Java-Themen 5
LimDul Streams und Exception Allgemeine Java-Themen 8
C FileLock - Exception wird immer geworfen Allgemeine Java-Themen 4
S Wertbeschränkung Exception oder Anpassung? Allgemeine Java-Themen 4
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
P Swing Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: npoints > xpoints.length || npoints > ypoints.length Allgemeine Java-Themen 5
S RMI Exception Allgemeine Java-Themen 0
S MSSQL Exception & Connection String Allgemeine Java-Themen 19
S Interface, generischer Datentyp, Exception? Allgemeine Java-Themen 3
coolian warum bekomme ich ein string index out of bounds exception Allgemeine Java-Themen 17
B Aufruf der Methode ergibt eine Exception Allgemeine Java-Themen 13
S Exception in thread "main" java.lang.NullPointerException at FamilienApp.main(FamilienApp.java:15) Allgemeine Java-Themen 1
M Klassen Serializable Exception Allgemeine Java-Themen 1
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
E Thread Exception Allgemeine Java-Themen 6
javaerd Binomialkoeffizient ausrechnen, Exception in thread "main" java.lang.StackOverflowError Allgemeine Java-Themen 6
M xlsx File auslesen Exception occured Allgemeine Java-Themen 13
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
G Java/LibGDX File Loading Exception Allgemeine Java-Themen 2
B Exception in Application init method Allgemeine Java-Themen 5
H OOP Testen einer Exception mit JUnit Allgemeine Java-Themen 8
perlenfischer1984 Dialect class not found exception Allgemeine Java-Themen 15
Thallius Bekomme keine Exception mit Stacktrace mehr. Was habe ich getan? Allgemeine Java-Themen 13
perlenfischer1984 Functionsparameter prüfen und eine Exception werfen !? Allgemeine Java-Themen 11
E Probleme mit nextInt() und Exception Allgemeine Java-Themen 35
Z Exception wird nicht ausgelöst Allgemeine Java-Themen 2
T Konstruktor löst exception aus Allgemeine Java-Themen 7
KilledByCheese Dezimal nach Hexadezimal rechner wirft seltsame exception Allgemeine Java-Themen 4
V Compiler-Fehler Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 125, Size: 125 Allgemeine Java-Themen 11
D Codeausführung bevor Exception abgeschlossen ist Allgemeine Java-Themen 11
T FileNotFound Exception Allgemeine Java-Themen 9
L Exception/Error auf JDialog umleiten Allgemeine Java-Themen 2
C Arithmetic Exception, obwohl nichts 0 ist Allgemeine Java-Themen 5
M A Java Exception has occured. Allgemeine Java-Themen 1
J Exception in thread "main" java.lang.NoClassDefFoundError Allgemeine Java-Themen 4
M Exception in thread "AWT-EventQueue-0" Allgemeine Java-Themen 6
P Input/Output java.util.Scanner in einer Schleife und Exception-Behandlung: Einlesen einer Zahl Allgemeine Java-Themen 4
E A Java Exception Has Occured Allgemeine Java-Themen 4
T Exception handling Allgemeine Java-Themen 7
P lazy loading exception Allgemeine Java-Themen 0
A Interpreter-Fehler OutOfMemory Exception mit Base64 decode Allgemeine Java-Themen 3
S Java Applet Crash - Keine Exception Allgemeine Java-Themen 8
S Best Practice verschiedene Exceptions fangen und neue Exception erzeugen Allgemeine Java-Themen 11
K Exception in thread "AWT-EventQueue-1" Allgemeine Java-Themen 2
K Gepacktes Jar-File gibt beim Doppelklick eine Exception aus Allgemeine Java-Themen 4
P Eigene Exception Klasse Allgemeine Java-Themen 7
N Java Interne Exception Allgemeine Java-Themen 4
B JUnit4 Exception-Test Allgemeine Java-Themen 4
127.0.0.1 SQL Exception, kein Driver Allgemeine Java-Themen 9
S Erste Schritte Exception beendet Schleife nicht - Methode macht trotz throw weiter? Allgemeine Java-Themen 9
R ZIP FileSystem unter Windows wirft exception Allgemeine Java-Themen 7
H java.util.Timer und Funktion mit SQL Exception Allgemeine Java-Themen 5
Ollek Barcode mit Barcode4J erzeugen - Exception Allgemeine Java-Themen 4
Z Concurrent Modification Exception - HashMap (kein remove) Allgemeine Java-Themen 4
E Eigene Exception Klasse erstellen Allgemeine Java-Themen 3
L Variablen IO Exception weil File angeblich nicht exisitert Allgemeine Java-Themen 10
T Exception versus Rückgabeparamter Allgemeine Java-Themen 26
S Exception enableDepthTest Allgemeine Java-Themen 7
M JAXB Reimport zu Hibernate DB -> Exception Allgemeine Java-Themen 3
W Kleine Frage zu Null-Pinter-Exception Allgemeine Java-Themen 21
aze JUnit: Testen ob bestimmte Exception nicht auftritt Allgemeine Java-Themen 18
S Null Pointer Exception bei BufferedReader Allgemeine Java-Themen 4
N Runtime.exec() Exception Problem Allgemeine Java-Themen 3
P Default constructor cannot handle exception type Allgemeine Java-Themen 6
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
S Bildaufbau durch Servlet -> Exception Allgemeine Java-Themen 11
E Queue: Wie kann hier ein null-Pointer Exception auftreten?! Allgemeine Java-Themen 11
S Exception beim Schreiben des Dataset in XML Datei Allgemeine Java-Themen 8
M Webstart Exception trotz signierten JARs Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben