Checkstylefehler

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Morgen, ich verzweifel fast, versuche seit bestimmt einer Stunde folgen den Checkstylefehler zu beheben...bitte helft mir.

Code:
    if (folge.charAt(laenge) == klammerAuf) {
        
        counter++; 
    [b]}[/b]

Fehler dazu:

Starting audit...
C:\Check\Program\Text.java:79:5: '}' sollte in derselben Zeile stehen.
Audit done.
 
G

Guest

Gast
Ups kleiner Fehler der code sieht so aus:

Code:
    if (folge.charAt(laenge) == klammerAuf) {
        
        counter++; 
    }
 
S

SlaterB

Gast
ersetze mal
if (folge.charAt(laenge) == klammerAuf) {
durch
if (true) {

tritt dann der Fehler immer noch auf?

als nächstes:
if (true) {
}

immer noch Fehler?
dann stecke das mal in ein vollständiges Testprogramm mit main, 10 Zeilen max,

---------

ansonsten liegst vielleicht am restlichen Code drumherum?
 
G

Guest

Gast
Egal was ich da einsetzte immer der selbe Fehler, gesamt sieht das so aus, bei der unteren Klammer meckert er aber nicht...verstehe das nicht:

Code:
    public boolean istKorrektGeklammert() { 

        /* Es werden 3 Variablen deklariert die für die Berrechnug der Methode 
         * benötigt werden. Als erstes werden die beiden Variablen für 
         * die Kalmmersymbole deklariert. Je nachdem welche Ausdrücke man 
         * untersucht kann man über die Variable "klammerAuf" und "klammerZu" 
         * die Klammern eingeben die gesucht sind. Als drittest wird eine 
         * Zählvariable deklariert welche die Klammern mitzählt, bei einer 
         * offenen Klammer +1 bei einer geschlossenen -1.
         */
        int klammerAuf = '(';
        int klammerZu = ')';
        int counter = 0; 

        /* 
        * Initialisierung der Schleife, es wird eine weitere Hilfsvariable 
        * deklariert  die als Zaehler aggiert und die Laenge des Ausdruckes 
        * angibt. Es wird nun geprüft ob die laenge < der Folgenlänge ist und 
        * gleichzeitig der counter >= 0 ist. wenn ja dann wird i um eins erhöht 
        * solange bis laenge > ist als die folgenlänge, dann wird laenge 
        * ausgegeben den laenge = folgenlänge.
        */ 
        for (int laenge = 0; laenge < folge.length() 
             && counter >= 0; laenge = laenge + 1) { 

        /* Wenn nun der Counter keinen Inhalt hat, also leer ist und es tritt 
         * eine geschlossene auf dann wird der Counter um eins verringert 
         * also -1. Er muss aber immer größer sein als null und somit wird die 
         * Methode abgebrochen und false ausgegeben.
         * Wenn eine geöffnete Klammer auftritt wird der Counter um eins erhöht 
         * und bei einer geschlossenen Klammer um eins reduziert, wenn dabei 
         * ein wert < 0 oder > 0 rauskommt wird false ausgegeben, denn jede 
         * offene Klammer muss auch eine geschlossene haben als muss der 
         * Counter bei richtiger setzung 0 haben. Alles andere wäre false, 
         * wenn der counter 0 hat wird true ausgegeben. 
         */ 
        if (folge.charAt(laenge) == klammerAuf) { 

            counter = counter + 1;
        }

        else if (folge.charAt(laenge) == klammerZu) { 

            counter = counter - 1; 
        }
        }

        /* Ausgabe des counters, er wird immer als true ausgegeben denn sollte 
         * der Ausdruck fehler in der Klammerung haben wird vorher schon mit 
         * false abbgebrochen.
         */
        return (counter == 0); 
}
 
G

Guest

Gast
Was nch lustiger ist wenn ich es so schreibe kommt der Fehler dabei raus was ja total der Wiederspruch ist:


Code:
if (folge.charAt(laenge) == klammerAuf) { 
        
        counter++; 
    }

Starting audit...
C:\Check\Program\Text.java:77:36: '}' sollte in derselben Zeile stehen.
C:\Check\Program\Text.java:77:36: '}' sollte in einer neuen Zeile stehen.
Audit done.
 
S

SlaterB

Gast
tja, ich dachte jetzt eher an Java-Compiler,
der meckert anscheinend nicht?

zu Checkstyle sage ich dann mal nix,
klicke auf Autoformat falls vorhanden (zumindest Eclipse hat das, Strg-F (oder Strg-Shift-F)),
schaue die Beispiele an oder deinstalliere das am besten,
das ist die dauerhafte Lösung ;)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben