Einfache Java Übung nicht verstanden, hilfe...?

...komplette Frage anzeigen

2 Antworten

Ich gehe mal davon aus, dass du mittlerweile weißt welches mathematische Konzept sich hinter der Fakultät verbirgt.

1. In Java werden Programme in Klassen definiert. Bei dir heißt die: "MeineTestanwendung"

2. in dieser Klasse werden Methoden definiert. In Methoden befinden sich die Anwendungen. Anwendungen sind die "codes" die die Programmfunktion erfüllen. Hier heißt deine Methode "fak", sie ist vom ganzen Programm sichtbar (public) und verwendet den Datentypen Int (Iteger, ganzahliger Datentyp).

In der Klammer dahinter wird eine Int variable angelegt. sie heißt hier "n". Dann folgt eine kurzschreibweise einer "if-abfrage"(wenn "x=y" dann mach "qbc"). Hier prüft sie, ob die variable n kleiner 0 ist. Wenn es so ist wird eine 0 zurückgegeben.

dann folgt eine "for-each loop" die itteratiev eine intervall durchläuft und deine variable überschreibt. Dahinter wird das intervall beschrieben und das Ergebnis der Berechnung wird zurückgegeben.

3. Zum Schluss wird eine Main methode definiert (die methode die bei Programmstart als erstes ausgeführt wird). hier werden dann die Werte ausgegeben (auf der Konsole) die deine methoden zurückgeben.

public static void main(String[] args) { MeineTestanwendung fakBerechnung = new MeineTestanwendung();

System.out.println("Fakultät von 5: " + fakBerechnung.fak(5));
System.out.println("Fakultät von 10: " + fakBerechnung.fak(10)); }

Wo kommt denn dann "fakBerechnung" her?

0
@fitnessAnonym8

Ich schieb das mal übersichtlicher :

//anfang der main

public static void main(String[] args) {   

//hier wird ein Objekt der Klasse "MeineTestanwendung" erzeugt, das Objekt trägt den Namen "fakBerechnung"

MeineTestanwendung fakBerechnung = new MeineTestanwendung();

//hier wird dem Objekt ein statischer int wert übergeben, welcher benötigt wird um die fakultät in den methoden zu berechnen. Anschließen wird das ergebnis auf der Konsole angezeigt.

System.out.println("Fakultät von 5: " + fakBerechnung.fak(5));
System.out.println("Fakultät von 10: " + fakBerechnung.fak(10));

} // ende der main

1
@Clockamker

Danke!

​Wie umständlich ist das aber bitte....

public class Uebung1Fakultaet {

     public static void main(String[] args) {

         int fak = 1;     //fak wird als 1 deklariert

          for (int i = 1; i <= 7; ++i)
         //die for Schleife, int i =1; i größer- gleich 7; i + 1 {

                         fak = fak * i;              //fak (also 7) * i (also 1)

     }

    System.out.println("Fakultät von 7: " + fak); }
     //das ergebnis ist dann 7

    }

​Ist das so richtig???

0
@fitnessAnonym8

Also:
  for (int i = 1; i <= 7; ++i)

// die lokale Variable i wird solange +1 gerechnet, bis sie = 7 ist, jedes mal wenn die Bedingung der loop erfüllt ist (also: i <=7) dann wird die anweisung in der schleife ausgeführt. Hier:

fak = fak * i;

//entspricht im 1.Durchlauf: fak= 1(fak)*1(i), die variable fak wird nun mit dem ergebnis "1" überschieben.

Im 2. Durchlauf wäre es: fak=1(fak)*2(i)

3. DL: fak =2(fak)*3(i) usw. bis die bedingung der schleife nicht mehr "true" erzeugt.

System.out.println("Fakultät von 7: " + fak); 

//gibt den derzeitigen wert der variable "fak" an, durch einen String der in der Konsole erscheint. es ist aber nicht "7" sondern "7!" :)

0

Fangen wir mal oben an:

'public int fak(int n)'

Das erste int ist der Rückgabetyp der Funktion (mit return).

Das zweite int mit dem n ist der Ùbergabewert, der innerhalb der Funktion mit n abgerufen werden kann.

'int fak = 1'

Es wird eine Variable vom Typ Integer mit dem Namen 'fak' deklariert und mit 1 intialisiert.

'for( int i=1; i <= n; i++ )'

For ist eine zählschleife. Mit jedem Durchlauf wird der Code innerhalb ausgeführt.

'int i=1' wir fangen bei 1 an zu zählen

'i <= n' Solange i kleiner oder gleich

'i++' Rechne i+1

'fak = fak * i'

durch die zählschleife entsteht eine rechnung.

Bei 1 Durchlauf ist fak = (1*) 1

Bei 2 Durchläufen ist fak = (1*) 1 * 2

etc.

'return fak'

Wir geben den endwert unserer Rechnung bzw. fak zurück.

Was möchtest Du wissen?