Hey Leute,
ich versuch mich grad ein bisschen in Java einzufuchsen. Dieses Aktivitätsdiagramm bereitet mir aber Schwierigkeiten. Wie geht man da am besten vor? Diese ganzen Verzweigungen sind ja doch etwas umfangreich.
Und ich sehe zweimal while und einmal if. Im Bild: Ein while oder if ist ein Knoten, von dem mindestens zwei Kanten wegzeigen. Ein if ist, wenn man so will, ein while, auf das keine Kante zeigt.
Wo genau liegt denn das Problem? Weißt du nicht, wo du anfangen sollst, oder kannst du die Kontrollstrukturen nicht in dieses Diagramm integrieren?
edit: Hab schrott erzählt, man erkennt in der Grafik kaum die "=". Was Ark sagte stimmt. 2 while, und nur die letzte Prüfung (Die Ausgabe ob es eine glückliche oder traurige Zahl ist) ist ein if.
So ein Diagramm lesen kannst du aber, oder? Also anfangen tut es mit dem Einlesen eines Integers (beim Programmstart als Parameter übergeben). Der Code dafür ist ja gegeben.
Dann checkst du ob diese Zahl nicht 1 oder 4 ist. Wieder ist der Code gegeben (der Kommentar an der ersten Verzweigung). Diese Bedingung kommt in eine while-Schleife:
Java:
while(number !=1&& number !=4){// true, hier kommt das was im Diagramm rechts zu sehen ist}// wenn wir hier ankommen, ist es false.// Das ist das, was im Diagramm unten steht.
Kannst du denn überhaupt schon if-else und while-Schleifen schreiben/verstehen?
1. du solltest dies in eine Methode schreiben, z.B. public static void main(String[] args)
2. irgendwo geht eine Klammer zu viel zu
3. mach bitte nie klammerlose ifs/whiles/for etc... also lieber: if (numer == 1) { System. ... } else { System. ... }
Du hast das Programm nicht mit genügend Parametern aufgerufen, wahrscheinlich so:
Code:
java LuckyNumbers
Deswegen hat args die Länge 0 und folglich keine Elemente (args[0] ist bereits das erste Element). Du musst das Programm mit einem Parameter starten, etwa so:
Code:
java LuckyNumbers 42
Das ist auch insofern logisch, als dass ja das Programm wissen muss, welche Zahl auf fröhlich getestet werden soll.
Du musst eine Zahl mitgeben. args ist eine Liste von Argumenten, die du beim Programmstart mitgeben kannst. args[0] ist das erste Argument dieser Liste. Wenn du jedoch nix übergibst, bekommt er einen Fehler beim Versuch auf dieses (nicht vorhandene) Argument zuzugreifen.
In der Konsole funktioniert das Starten eines Programms mit einer Liste von Argumenten so:
java LuckyNumbers 5
Die Argumente werden einfach durch Leerzeichen getrennt übergeben. In diesem Fall gibt's nur eins, nämlich die 5.
In Eclipse kannste Rechtsklick auf die Datei -> Run Properties -> Parameters und dort einfach ne 5 reinschreiben.