Kann mir jemand in Informatik helfen (Java)?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Also das erste Problem wird sein in den Parametern deiner Funktion, dass du sagst "int vollpreis" aber einen Wert wie 6,3 möchtest, also einen Double/Decimal.

In deiner Funktion arbeitest du dann z.B. mit if-Abfragen

Also als Beispiel:

if (alter < 6) { //Code here }

Innerhalb dieser Altersschleifen könntest du weiter if-Schleifen für die Reihe ergänzen.

Als Beispiel für das Verhalten eines unter 6 Järigen in der Vordersten Reihe:

if (alter < 6) { 
  //halber Vollpreis von Alter 
   output = vollpreis/2
 if(reihe >=1 && reihe <=4){
   //30% ermäßigung
    output = output * 0,7
   }
}

Das alles nur beispielhaft. Natürlich musst du vorher auch noch die Altersfreigabe prüfen.

Am Ende gibst du dann einfach deinen output zurück.

Das mal als Anhaltspunkt. Ich hoffe ich konnte dir grob vermitteln wie du vorgehen kannst.

Viel Erfolg :)

du setzt am anfang deine variable preis

nicht vergessen das du in cent rechnest und am ende erst in euro umrechnest.

dann mit if else gehst du die einzelnen fälle druch und berechnest entsprechend den preis

und das jeweils für vollpreis und reihe

am ende prüfst du ob das alter stimmt, wenn ja gibst du den preis zurück , wenn nein dann halt 0

auf der anderen seite prüfst du den preis , wenn 0 stimmt was mit dem alter nicht , ansonsten einfach den preis ausgaben .

Womit hast Du denn Probleme? Sicherlich werde ich Dir nicht hier die Lösung hinschreiben, ohne gesehen zu haben, dass Du selbst etwas versucht hast.

Ich habe oft Schwierigkeiten die richtigen Befehle zu schreiben oder wie man das angibt. Unser Lehrer schmeißt uns da oft ins kalte Wasser

Nun, die Deklaration der Methode steht ja schon da. Es gilt also, erst einmal die Konditionen zu prüfen.

Wann darf die Person rein? Wenn sie alt genug ist. Wann ist sie alt genug? Wenn ihr aktuelles Alter >= dem Mindestalter ist. Wie prüft man, ob etwas gilt oder nicht? Mit "if".

Also beispielsweise

if (alter >= freigabe) ...

Danach prüfst Du eben die Altersermäßigungen. Wenn Du so den Basispreis ermittelt hat, dann geht's mit den Sitzreihen weiter.


ejdbaumlover 
Beitragsersteller
 01.04.2022, 08:23

Ich habe oft Schwierigkeiten die richtigen Befehle zu schreiben oder wie man das angibt. Unser Lehrer schmeißt uns da oft ins kalte Wasser

ZaoDaDong  01.04.2022, 08:25
@ejdbaumlover

Es ist doch sehr detailiert beschrieben, was umzusetzen ist. Sogar stark vereinfacht. Es muss nichtmal mit Geburtsdaten oder Fließkommazahlen gerechnet werden.

Pixelated  01.04.2022, 08:26
@ejdbaumlover
Unser Lehrer schmeißt uns da oft ins kalte Wasser

Herzlich willkommen in der wundervollen Welt der Programmierung.

StackOverflow ist dein Freund.

Elias8832  01.04.2022, 08:27
@ejdbaumlover

Kenn ich das Gefühl,

Kann dir aber leider nicht helfen da ich erst dieses Wochenende angefangen habe zu programmieren.

ejdbaumlover 
Beitragsersteller
 01.04.2022, 08:27
@ZaoDaDong

haben Informatik erst das erste Jahr und ich war aufgrund einer Verletzung oft nicht da, deswegen habe ich die Grundlagen etwas verpasst , dadurch musste ich viel nachholen und das fällt mir einfach schwerer

ZaoDaDong  01.04.2022, 08:28
@Pixelated

die werden sich über so eine Frage freuen. Da folgt wahrscheinlich direkt der Bann.

Pixelated  01.04.2022, 08:38
@ZaoDaDong

Ja gut, der StackOverflow Hinweis war wohl etwas zynisch für diesen Fall.

Woyzeck735  01.04.2022, 08:25

Dann antworte auch nicht.

ohwehohach  01.04.2022, 08:34
@Woyzeck735

Nein. Ich will einfach eine konkrete Problemstellung hören. "Gib mal Code" ist Quatsch, daraus lernt niemand was. Und von daher ergibt das sehr wohl Sinn, denn ich sage ja nicht "ich verrate es Dir nicht". Ich frage nur, wo die konkreten Probleme liegen.

Woyzeck735  01.04.2022, 08:35
@ohwehohach

Gib ihr einfach den Code. Es geht nicht immer nur ums lernen und lernen. Du musst nicht helfen, aber wenn, dann richtig.

ohwehohach  01.04.2022, 08:36
@Woyzeck735

Doch, genau darum geht's. Und jetzt lass mich zufrieden. Du kannst gerne eine eigene Antwort schreiben, wenn Du möchtest.

Woyzeck735  01.04.2022, 08:37
@ohwehohach

Nein, mache ich nicht, weil ich keine Ahnung von dem Thema habe.

Und nein, es geht nicht darum. Manchmal muss man einfach die Lösung geben ohne dass jemand etwas lernt. Ich glaube du kannst es einfach selber nicht, aber gut.

ohwehohach  01.04.2022, 08:45
@Woyzeck735

Was Du glaubst geht mir ehrlich gesagt ziemlich weit am unteren Ende vorbei. Und wenn Du schon vom Thema keine Ahnung hast, bist eventuell doch eher Du derjenige, der sich raushalten sollte, wenn die Leute reden, die sich auskennen (und ich mache das immerhin auch schon über 30 Jahre).

Woyzeck735  01.04.2022, 08:49
@ohwehohach

Ich weiss, deshalb sage ich auch nichts thematisches. Ich finde deine Einstellung einfach nur im Prinzip nicht gut.

Die Aufgabenstellung ist falsch.
Der Beispielwert von 6,3€ kann nicht als vollpreis übergeben werden, da es sich bei "vollpreis" um einen Integer handelt.

Woher ich das weiß:Berufserfahrung – Java-Entwickler von Batch- und Webanwendungen

DerRoll  01.04.2022, 08:31

Das ist schlicht falsch, es muß nur geeignet gerechnet werden (d.h. z.B. mit 100 multipliziert oder mit cent gerechnet).

ZaoDaDong  01.04.2022, 08:34
@DerRoll

Es ist ja nicht so, dass eine Definition der Parameter folgt. Und da steht nichts von Centbeträgen. Es muss ja definiert sein, was die Methode erwartet. Und hier in der Aufgabenstellung eben den "normalen Preis in Euro". Nicht Eurocent.

DerRoll  01.04.2022, 08:38
@ZaoDaDong

Es soll der Preis in € ausgegeben werden, das ist aber auch unproblematisch, denn die Methode ist ja als Double definiert. Es steht NICHT da, dass die Methode den "Nromalen Preis in Euro" erwarten soll, sondern "den normalen Preis". Die Beispielangabe 6,3€ wäre dann geeignet umzurechnen.

ZaoDaDong  01.04.2022, 08:41
@DerRoll

Wenn man zu übergebene Parameter definiert, wie in der Aufgabenstellung, dann gibt man auch passende Beispielwerte für die Übergabe an.

ejdbaumlover 
Beitragsersteller
 01.04.2022, 08:30

Achso, weißt du wie ich die aufgabe trotzdem lösen kann ?

ZaoDaDong  01.04.2022, 08:31
@ejdbaumlover

Wenn die exakt so vorgegeben ist, ist die nicht korrekt lösbar. Entweder fallen Nachkommastellen weg oder man ändert den Datentyp von Vollpreis.

ohwehohach  01.04.2022, 08:32
@ejdbaumlover

Kannst Du auch so - Du kannst halt nur glatte Euro-Beträge im Parameter angeben. Oder Du interpretierst die Angabe in cent, nicht in Euro, aber dann ergibt Double als Rückgabe keinen Sinn.