Sinn des programmes

Romolus

Mitglied
Für eine Übung muss ich das Programm verstehen und alle Werte erklären.

Aufgabe:
Java:
boolean ex1(int x){
  if (x % 2 == 0) return false;
  for(int i =3;i <= Math.sqrt(x); i+=2){
     if (x % i ==0) return false;
  }
  return true;
}

Ich verstehe das Programm und kann es auch erklären, aber zwei Fragen hab ich dazu:

Frage 1) Wieso steht ex1(int x) so da, was heißt das in der Reihenfolge?
Frage 2) Was bedeutet return true?
Return steht sonst in Funktionen und kehrt die Ausführung wieder an den die Funktion aufrufenden Programmteil zurück.
WIeso sollte das Programm mir dan true wiedergeben, wenn vorher gar kein System.out.println("true") steht?
Frage 3)
Das Programm läuft bei mir leider nicht, dehalb kann ich es nicht testen.
 

eRaaaa

Top Contributor
Ganz sicher dass du den Code verstehst? :eek:
Frage 1) Wieso steht ex1(int x) so da, was heißt das in der Reihenfolge?
? Das ist eine Methodendeklaration : Chapter*8.*Classes
Frage 2) Was bedeutet return true?
Return steht sonst in Funktionen und kehrt die Ausführung wieder an den die Funktion aufrufenden Programmteil zurück.
WIeso sollte das Programm mir dan true wiedergeben, wenn vorher gar kein System.out.println("true") steht?
? Weil jmd die Methode aufruft und dann eben true oder false zurückgegeben bekommt und er dann meinetwegen dort das Sytem.out machen kann? - Kapitel Methoden lesen! :rtfm:
Frage 3)
Das Programm läuft bei mir leider nicht, dehalb kann ich es nicht testen.

Das ist ja auch kein komplettes Programm sondern eben nur eine Methode, die lässt sich auch kompilieren, da ist nichts verkehrt!
 

Romolus

Mitglied
Also:
Mit dem Typ boolean werden Wahrheitswerte dargestellt, dieser Datentyp kann nur den Wert true oder false annehmen.
Es wir in der if-Schleife überprüft, ob die Zahl x durch 2 teilbar ist, wenn diese Bedingung erfüllt ist wird das programm abgebrochen und false ausgegeben.
Wenn die Zahl nicht durch 2 teilbar ist, geht es in die for Schleife mit der Deklaration von i mit den Anfangswert 3. Nun wird überprüft ob i kleiner oder gleich der Wurzel aus x ist, wenn das nicht der fall ist wird die SChleife abgebrochen. Der Wert von i wird um 2 erhöht, steht jedoch jetzt noch am ANfangswert 3.
Wenn x durch das 3 teilbar ist wird die Methode vorzeitig abgebrochen und gibt false aus ansonsten geht for-Schleife mit i =4 weiter. Wenn alle definierten Zahlen passiert wurden wird das programm abgebrochen und es wird true ausgegeben.


Wie hatten das Kapitel methoden noch nicht In der Vorlesung, deshlab wusste ich das nicht.

Wie ruft man dan die methode auf?

LG
 

Kababär

Top Contributor
Zu 1:
Java:
boolean ex1(int x){
Eine Methode vom Typ boolean mit dem Namen ex1 und in den Klammern stehen () stehen wie bekannt Parameter. Diese Methode bekommt den Parameter int x zugewiesen. Es ist diese Reihenfolge:
Zugriffsmodifikatoren, Datentyp, Name, ggf. Parameter.
Nur fehlt hier der Zugriffsmodifikator (public, protected, private ).

Zu 2:
return true heißt einfach das selbe wie es übersetzt heißt. Er liefert einen wahren wert zurück. Und zwar gibt er ihn zurück, nachdem er sich die Zahl unter die Lupe nimmt.
Es ist quasi ein Bestehungstest.

Zu 3:
Kein Wunder, dass es nicht läuft. Es fehlt die main-Methode und eine Klasse. Was du vor dir hast, ist lediglich nur eine Methode. Kompilieren kannst du es, ohne dass eine Exception geworfen wird o.ä..
 

Fab1

Top Contributor
kommt darauf an wo sich die Methode befindet, aber da ihr noch keine Methoden hattet ist wahrscheinlich eh alles in einer Klasse.

Somit sollte:

Java:
ex1(5);
//oder
ex1(10);

funktionieren. Natürlich kannst du der Methode andere Werte übergeben mit denen dann gerechnet werden.

Kompilieren kannst du es, ohne dass eine Exception geworfen wird o.ä..

Es wird eine Exception geworfen, wenn man keine main Methode hat.
Code:
java.lang.NoSuchMethodError: main
Exception in thread "main"
 
Zuletzt bearbeitet:

ESCS

Mitglied
Kompilieren müsste man es können, nur beim Ausführen wird die Exception geworfen. Von daher hat Kababär soweit schon Recht mit seiner Aussage.
 

Kababär

Top Contributor
Soweit ich weiß, KANN eine Methode auch als Funktion bezeichnet werden.
In anderen Sprachen ist die Hauptbezeichnung glaub Funktion statt Methode.

Unwichtiges:
Als Algorithmenprogrammer wäre dies aber nicht sehr sinnvoll,
da man eine Funktion wohl eher als Anweisungsblock betrachten würde.

Sage doch lieber Methode und nenne die Dinge bei den formalen Namen.

Als Funktion könnte ich mir aber auch mathematisch zusammengesetzte Ausdrücke und Anweisungen vorstellen wie:
Code:
fak(n)
if ( n <= 1 )
       return 1;
else
  return ( n * fak(n-1) )

EDIT: Wobei mir gerade auffällt, dass es auch wieder eine Methode ist.
Also Methode <=> Funktion
 
Zuletzt bearbeitet:

Camill

Bekanntes Mitglied
Dann schreibe ich auch mal was dazu...

Normalerweise wird zwischen Prozedur und Funktion unterschieden, wobei eine Funktion im gegensatz zur Prozedur einen Rückgabewert liefert. In Java jedoch wird beides einfach als "Methode" zusammengefasst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Interfaces von Interfaces macht das noch Sinn? Java Basics - Anfänger-Themen 21
F Hat es noch einen Sinn, alte Versionen zu lernen Java Basics - Anfänger-Themen 45
berserkerdq2 Wo ist der SInn, dass man den Stream, den ich zum Schreiben nutze, outputstream nenne? Java Basics - Anfänger-Themen 5
H Sinn von Interfaces Java Basics - Anfänger-Themen 21
W Sinn eines Singleton ? Java Basics - Anfänger-Themen 14
R getUserProperties() macht für mich keinen Sinn Java Basics - Anfänger-Themen 8
E Sinn: final in Parameterliste verwenden Java Basics - Anfänger-Themen 2
B Sinn von Lambdas? Java Basics - Anfänger-Themen 16
5 Welchen Sinn hat ein Runnable Java Basics - Anfänger-Themen 6
P OOP Sinn von abstrakten Klassen Java Basics - Anfänger-Themen 2
M Kapselung Datenkapselung Sinn direkter Zugriff? Java Basics - Anfänger-Themen 1
B Der Sinn von Arrays Java Basics - Anfänger-Themen 2
Q Container sinn? Java Basics - Anfänger-Themen 3
S string index out of range - es ergibt keinen Sinn Java Basics - Anfänger-Themen 6
C Sinn eines Interfaces? Java Basics - Anfänger-Themen 4
J Sinn/Nutzen von Scanner Java Basics - Anfänger-Themen 23
B Sinn von Reflections Java Basics - Anfänger-Themen 10
H Vererbung Prinzip der Ersetzbarkeit-Sinn? Java Basics - Anfänger-Themen 9
F Sinn der SuppressWarnings("unused")-Annotation Java Basics - Anfänger-Themen 5
W Sinn von Konstruktorsyntax und finalize Java Basics - Anfänger-Themen 14
J Worin besteht der Sinn und Anwendungsbereich von Dreidimensionalen Arrays? Java Basics - Anfänger-Themen 11
J Datentypen Was ist der Sinn vom Datentyp "char" ? Java Basics - Anfänger-Themen 11
T Sinn von finally? Java Basics - Anfänger-Themen 3
M Variablen Zinseszinsberechnung - Variable ergibt keinen Sinn Java Basics - Anfänger-Themen 15
A Klassen Sinn des Konstruktors Java Basics - Anfänger-Themen 12
P Sinn des Security Managers Java Basics - Anfänger-Themen 2
J Welchen Sinn haben abstrakte Methoden? Java Basics - Anfänger-Themen 4
D Sinn von Jar Dateien Java Basics - Anfänger-Themen 5
D Sinn von Interfaces - Wozu? Java Basics - Anfänger-Themen 9
K Sinn eigener Exceptions Java Basics - Anfänger-Themen 11
Luk10 Sinn von Instanzierung ohne Referenz Java Basics - Anfänger-Themen 7
hdi Sinn von RuntimeExceptions? Java Basics - Anfänger-Themen 90
Developer_X NullPointer Exception ohne Sinn Java Basics - Anfänger-Themen 19
L Sinn hinter Generic? Java Basics - Anfänger-Themen 5
M Der Java Schlüsselwort null; ?Welche Anweisung und Sinn? Java Basics - Anfänger-Themen 12
A Macht es Sinn Arraylisten mit Gettern zu übergeben? Java Basics - Anfänger-Themen 19
M Variable überwachen und Sinn eines Threads Java Basics - Anfänger-Themen 7
G Sinn vo OOP Java Basics - Anfänger-Themen 5
P Unterschied zwischen Interface und Vererbung und Sinn? Java Basics - Anfänger-Themen 5
G sinn von JList Java Basics - Anfänger-Themen 6
K Sinn von Interfaces Java Basics - Anfänger-Themen 10
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
N Fehlermeldung beim ausführen des Programmes.. Java Basics - Anfänger-Themen 3
E Interpreter-Fehler Fehler bei Ausführen des Programmes Java Basics - Anfänger-Themen 3
N Innerhalb des Programmes RAM einstellen Java Basics - Anfänger-Themen 2
C Vereinfachung eines Java Programmes Java Basics - Anfänger-Themen 5
L Aktion bei Abbruch des Programmes Java Basics - Anfänger-Themen 9
G Pfad eines Programmes suchen Java Basics - Anfänger-Themen 11
B Funktionen ausführen vorm Beenden des Programmes Java Basics - Anfänger-Themen 13
G Binäre Suchbaum + Erstellung des Programmes Java Basics - Anfänger-Themen 4
S Starten eines Programmes per Doppelklick Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben