Zweite Methode

Hey ich schreibe einen Code und soll nun eine zweite Methode einbauen. Wenn ich:

  public int TwentyBy(){
    //...
    }

bekomme ich die Fehlermeldung

illegal start of expression

wenn ich aber

    int TwentyBy;{
    //...
    }

funktioniert es, nun aber die Frage ob das eine Methode ist?

Hier ist der gesamte Code

public class excep {

public static void main(String[] args) throws Exception {
    float zahl;
    try {
        zahl = Integer.parseInt(args[0]);

        if (zahl > 10) {
            throw new Exception("Zahl darf nicht größer als 10 sein!");
        }



    }catch (ArrayIndexOutOfBoundsException e) {
        System.out.println("Bitte gib ein Argument!");
        zahl = 2;
        e.printStackTrace();

    } catch (NumberFormatException f) {
        System.out.println("bitte gib eine Zahl ein!");
        zahl = 3;
        f.printStackTrace();

    }



    System.out.println("Deine Zahl: " + zahl);
   
        int TwentyBy;{
        System.out.println("Der Quotient mit 20: "+ 20/zahl);
    }
}

Moin, du darfst innerhalb einer Methode nicht direkt eine andere definieren/deklarieren. Methoden sollten direkt innerhalb einer Klasse stehen.

Vorweg erst mal:

halte Dich bitte an die Java-Namenskonventionen. Dein Lehrer hat Dir (hoffentlich) erzählt, dass Klassen immer mit einem Großbuchstaben anfangen (also Excep und nicht excep) und Methoden/Variablen mit einem kleinen Buchstaben (also twentyBy nicht TwentyBy).


Zu Deinem Problem:

Wie CyborgBeta schon schrieb steht Dein neuer Code an der falschen Stelle. In deinem letzten Code-Schnipsel bist Du noch in der Methode main. Die neuen Methohde solle vor der letzten schließenden geschweiften Klammer in der Klasse stehen, das ist die, die Du nicht mit kopiert hast. ;o)

Warum hast die „Verbesserung“ compiliert?

Du hast dort eine neue Variable in der Methode main deklariert und danach mit den geschweiften Klammern einen neuen anonymen Block innerhalb der Methode erstellt.

Das mit der Variablendeklaration solltest Du wiedererkennen, denn das hast Du mit der Variablen zahl schon einmal gemacht.

Was ein anonymer Block ist soll im Moment nicht weiter interessieren, nur so weit, dass es eben gültige Syntax ist.

bye
TT