Wie implementiert man dieses Struktogramm in Java?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das lässt sich eigentlich ganz mechanisch in Java-Code übersetzen, ohne viel nachzudenken. Bei den Rechenoperationen musst du die entsprechenden Operatoren finden. Die Verzweigungen kannst du mit if (oder switch) darstellen.

Woran hakt es?

Headcollector47 
Fragesteller
 27.09.2021, 17:37

Hat doch alles super funktioniert, danke (:

0

Deine Frage ist zwar schon zwei Monate alt, aber ich wollte es trozdem mal ausschreiben :)

import java.util.Scanner;

public class Program {

   private static Scanner input = new Scanner(System.in);
   
   private static int readInt(String message) {
      System.out.print(message);
      int result = input.nextInt();
      return result;
   }

   public static void main(String args[]) {
      int t = readInt("Gebe den Tag ein: ");
      int m = readInt("Gebe den Monat ein: ");
      int j = readInt("Gebe das Jahr ein: ");
      int h = j / 100;
      int w;
      String a = "";
      j = j % 100;

      if (m < 3) {
         m = m + 10;
     if (j == 0) {
        j = 99;
        h = h - 1;
     }
     else {
        j = j - 1;
     }
      }
      else {
         m = m - 2;
      }

      w = (t + (26*m - 2) / 10 + (5*j / 4) + (h / 4) - 2*h) % 7;

      if (w <= 0) {
         w = w + 7;
      }

      switch (w) {
         case 1:
        a = "Mo";
        break;
     case 2:
        a = "Di";
        break;
     case 3:
        a = "Mi";
        break;
     case 4:
        a = "Do";
        break;
     case 5:
        a = "Fr";
        break;
     case 6:
        a = "Sa";
        break;
     case 7:
        a = "So";
        break;
      }

      System.out.println("Wochentag: " + a);
   }

}
Woher ich das weiß:Studium / Ausbildung