else without if

      else without if

      Hallo,

      ich bin gerade dabei Java zu lernen und komme bei dieser Übungsaufgabe nicht weiter. Das Programm soll überprüfen ob sich bei der Eingabe um ein Schaltjahr handelt. Für die Überprüfung gilt folgendes:
      Ist die Jahreszahl durch 4 teilbar, dann ist es ein Schaltjahr, außer die Jahreszahl ist gleichzeitig auch durch 100teilbar, dann ist das Jahr kein Schaltjahr - es sei denn, die Jahreszahl ist gleichzeitig auch durch 400 teilbar, dann ist es doch wieder ein Schaltjahr

      /* Schaltjahr: Das Programm überprüft ob das eingegebene Jahr
      * ein Schaltjahr ist.
      */
      import javax.swing.*;
      public class Schaltjahr {
      public static void main (String[] args) {
      double d;
      String eingabe;
      eingabe = JOptionPane.showInputDialog("Gib das Jahr ein ");
      d = Double.parseDouble(eingabe);
      if ((d % 4 == 0) & (d % 100 == 0) && (d % 400 = 0) ) {
      JOptionPane.showMessageDialog(null,"Es ist ein Schaltjahr");
      } else {
      if ((d % 4 == 0) & (d % 100 == 0) )) {
      JOptionPane.showMessageDialog(null, "Es ist kein Schaltjahr");
      }
      } else {
      if (d % 4 == 0) {
      JOptionPane.showMessageDialog(null, "Es ist ein Schaltjahr");
      }
      }
      }
      }

      Jedoch kann ich das Programm noch nicht starten da folgende Fehler auftreten:
      D:\Java\Programme\JavaUebung03>javac Schaltjahr.java
      Schaltjahr.java:16: error: illegal start of expression
      if ((d % 4 == 0) & (d % 100 == 0) )) {
      ^
      Schaltjahr.java:19: error: 'else' without 'if'
      } else {
      ^

      2 errors
      if ((d % 4 == 0) && (d % 100 != 0) | | (d % 4 ==0) && (d % 100 == 0) && (d % 400 == 0) ) {JOptionPane.showMessageDialog(null,"Es ist ein Schaltjahr");
      }else{
      JOptionPane.showMessageDialog(null, "Es ist kein Schaltjahr");
      }


      Awesome schrieb:

      Ich bin eh nur da um leute auszufeiern...

      Venuspower schrieb:

      Dann musste wohl in sauren Apfel greifen.

      tk33 schrieb:

      mit dir diskutier ich nicht, du nervst höchstens

      Ich würde die if anweisungen etwas leserlicher gestalten.

      Java-Quellcode

      1. if ((jahr % 4 == 0 && jahr % 100 != 0)
      2. || jahr % 400 == 0)
      3. System.out.println(jahr + " ist ein Schaltjahr!");
      4. else
      5. System.out.println(jahr + " ist kein Schaltjahr!");
      6. }
      so ist es einfacher zu lesen ^^
      ( ゚ヮ゚)
      dein konstrukt ist (grob vereinfacht) if(...) { ... } else {...} else{...}

      zweimal else darf nicht kommen.

      überleg dir auch mal, ob das nicht besser geht mit den bedingungen, sollte mit einem if-else gehen, du hast ja nur 2 fälle.
      überleg mal...
      Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)






      Skill ist, wenn Luck zur Gewohnheit wird