Not a Statement/Illegal Start of expression bei for Anweisung

Ich lerne gerade Java (Meine zweite Programmiersprache nach Python) und versuche jetzt einige alte Python Programme zu Java umzuschreiben. Nachdem ich jetzt einen kleinen Taschenrechner und das berühmte Hello World Programm zusammengebastelt habe, versuche ich mich bei einer Kapitänsaufgabe. Diese gibt mehrere Angaben über den Kapitän und sein Schiff. Er hat mindestens 4 Kinder, aber nicht mehr Kinder als er alt ist (In Jahren). Sein Alter, seine Kinder und die länge des Schiffes multipliziert sind 32118.
Die Antwort ist übrigens das er 53 Jahre alt ist, er 6 Kinder hat und das Schiff 101 Meter lang ist.

Für das Programm habe ich jetzt zum ersten mal for und while Schleifen verwendet. Hier ist mein Code
Code:
package cäääääpppttttnnnnnnnnnnnnn;

public class CÄÄÄÄÄPPPTTTTNNNNNNNNNNNNN {

       public static void main(String[] args) {
        int Meter = 1;
        int Multiplex = 0;
        int Erg = 32118;
        for (int Alter = 18 ; Alter < 100 ; Alter+){
            for (int Kinder = 4 ; Kinder != Alter ; Kinder+){
                while (Multiplex <= Erg){
                    Multiplex = Alter * Kinder * Meter;
                    System.out.println(Alter +"A");
                    System.out.println(Kinder +"B");
                    System.out.println(Meter + "C");
                    if (Multiplex == Erg){
                        System.out.println("Ihr Ergebniss ist:" + Alter +""+ Kinder +""+ Meter);
                    } else {
                        Meter = Meter + 1;                           
                    }
                }
                Kinder = Kinder + 1;
        }
    }   System.out.println("Kein Ergebniss gefunden Lol");
}
}

Ja ich weiß, ich kann noch an den Programmnamen arbeiten.
Ich benutze NetBeans, und das zeigt mir schon am Anfang einer Zeile, wenn ein Fahler auftauchen wird. Bei beiden for Schleifen zeigt er mir an das es ein 'illegal start of expression' und 'not a statement' ist. Aber hier ist die Fehlermeldung wenn ich das Programm durchlaufen lasse.

Code:
java.lang.ClassFormatError: Method "<error>" in class cäääääpppttttnnnnnnnnnnnnn/CÄÄÄÄÄPPPTTTTNNNNNNNNNNNNN has illegal signature "(Ljava/lang/Object;)Lprintln;"
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" C:\Users\User\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1

Ich habe schon bei mehreren Orten im Internet nachgeschaut, und ich glaube nicht das einer der Fehler bei mir zutrifft. Kann aber auch sein das ich blind bin.

Danke schon mal im vorraus,
The_Real_Bananasplit
 
Du schreibst momentan Alter+ und Kinder+ - das funktioniert so aber nicht. (das sollte dir eine ordentliche IDE aber auch anzeigen)

Du kannst dich zwischen eine der 3 Möglichkeiten entscheiden 😉
alter += 1
alter = alter + 1
alter++
 
Danke für die Antwort, es funktioniert jetzt.

Ich habe trotzdem noch eine Verständnissfrage. Wenn ich es jetzt durchlaufen lasse geht das Programm nur bis zu den Punkt, wo Alter und Kinder noch bei der mindestzahl (18 und 4) sind und die länge 447. Dannach bleibt das Programm einfach stehen. Sollte es nicht die letzte for schleife (wo die Anzahl der Kinder erhöht wird) zurückspringen?
 
Dannach bleibt das Programm einfach stehen.
Es bleibt nicht stehen. Aber sobald Mulitplex größer als Erg ist, wird eben nichts mehr ausgegeben. Die mittlere Schleife erhöht Kinder in jedem Durchlauf um 2, solange es ungleich Alter ist. Sobald Alter ungerade ist, kann die Schleife also nicht mehr terminieren, denn die Kinderzahl ist immer gerade (selbst wenn es nach einem Überlauf von Kinder wieder mit negativen Zahlen los geht, bleiben es gerade Zahlen).
 
Achso. Das lag daran das ich diese eine Zeile immer noch drin hatte. Jetzt habe ich Die 23. Zeile (Kinder = Kinder + 1; )entfernt. Aber es kommt als Ausgabe bei mir
18A
4B
447C
Kein Ergebniss gefunden Lol
(Zum Ende) heraus. Sollte es nicht die zweite for Schleife wiederholen, das neben den B eine 5 steht?
Ich habe es jetzt auch damit versucht Kinder und Meter nach der jeweiligen Schleife neu zu starten, aber es bleibt beim gleichen ergebniss.
 

Zurück
Oben