Compiler-Fehler wieso zeigt der compiler ein else without if?

Piotre19910

Aktives Mitglied
Hallo leute ich lerne grad programmieren und verstehe einfach nicht wieso der folgende code laut cmd nur funktioniert wenn ich das System.out.println(n) bei der markierten Stelle weglasse ???:L
es ist schon ne blöde frage aber ich verssuche alles zu verstehen 🙂 wenn ich ihn stehe lasse kommt laut compiler "else without if". was ich auch nicht verstehe. Danke schonmal:rtfm:
Java:
class colatzfolge
	{
		public static void main(String args[])
			{
				int n = Integer.parseInt(args[0]);
					while( n!=1)
					{
					if (n%2==0)
						n= n/2;
                                                 System.out.println(n) //<==dieses hier
					
					else
					n= 3*n+1;
							System.out.println(n);
					}
			}
	}
 
Zuletzt bearbeitet:
Nicht nur das. Es fehlen auch die geschweiften Klammern nach if und else. Falls diese nicht vorhanden sind, gehört nur die jeweils nächste Zeile zum if bzw. else, wie z.b. die Zeile 9 "n= n/2". Das "System.out.println(n)" gehört nicht mehr dazu, und die If-Verzweigung ist abgeschlossen. Das else danach hat also kein zugehöriges if.
lg Kevin
 

Zurück
Oben