Methoden Wie kann ich Variablen in Methoden setzen?

popelheinixd

Aktives Mitglied
Hallo, ich soll den Code so programmieren, dass zuerst das Gewicht einer Person ausgegeben wird. Danach soll ein Text erscheinen: "XY hat X.X Kilogramm zugenommen." und dieser Wert soll mit dem Gewicht addiert werden.
Bsp.:
"Stefan Raab hat 85.0 Kilogramm gewogen."
"Er hat 3.0 Kilogramm zugenommen."
"Er wiegt jetzt 88.0 Kilogramm."

Wie programmiere ich das?
 

lam_tr

Top Contributor
Wie du eine klasse mit einer Main-Methode aufbaust weist du?

Oder anders gefragt, was benötigst du und was kannst du schon?
 

popelheinixd

Aktives Mitglied
Habe vor einer Woche mit BlueJ angefangen. Kann programmieren, wie man eine Person mit Name und Alter als Objekt anlegt. Ich weiß aber nicht, wie man zwei Werte miteinander addiert, bzw. subtrahiert und das dies wie bereits beschrieben als Text ausgibt.
 

Pahiti78

Mitglied
Hallo,
versuch es mal so.

Eine Klasse Mensch mit einer Methode zum Zunehmen.

Code:
public class Mensch {
    int gewicht;
    String vorName;
   
    void zunehmen(int gewichtZunahme){
        gewicht=gewicht+gewichtZunahme;
        System.out.println(vorName+" nahm "+gewichtZunahme+" zu ");
        System.out.println("Jetzt wiegt "+vorName+" "+gewicht+" Kilogramm");
       
    }
}

Und eine zweite Klasse zum starten des Programmes mit der main-Methode

Code:
public class ProgrammStart {

    public static void main(String[] args) {
        Mensch stefan =new Mensch();
        stefan.gewicht=85;
        stefan.vorName="Stefan";
       
        System.out.println(stefan.vorName+" wog "+stefan.gewicht);
        stefan.zunehmen(35);
    }
        }

Du kannst dann neue Objekte der Klasse Mensch schaffen und diesen neue Namen und Anfangsgewichte zuweisen.

In der zunehmen-Methode übergibst du den Wert (Klammer) welchen der Mensch zunehmen soll.

Gruß Mathias
 

lam_tr

Top Contributor
Also da du Kommazahlen benutzt würde ich mal sagen dass du 2 Variablen mit den Typen Double und eine Variable für den Namen mit den Typ String für Zeichenkette benötigst.
-> double gewicht, double zunahme, String Name

Einlesen von Werten kannst du bsp. hierrüber machen:
Scanner input = new Scanner( System.in );
Input.next();

Ausgabe:
System.out.println("Hallo Welt");
 

popelheinixd

Aktives Mitglied
Kann man die Variable für die Gewichtszunahme und -abnahme nicht in die Methode schreiben, dass man beim ausführen der Methode sprechen, dies eingeben kann und BlueJ das addiert bzw. subtrahiert?
 

mrBrown

Super-Moderator
Mitarbeiter
ohne Sichtbarkeit bei der klasse Mensch, wird man wohl schlecht darauf zugreifen können.
Aber prinzipiell könnte man so vorgehen ja.
Die Sichtbarkeit passt so.

@popelheinixd arbeitest du irgendein Tutorial oder Buch oder ähnliches durch?

Ich muss in dem dritten Teil das gewicht und die gewichtZunahme addieren. Wie geht das?

gewicht=gewicht+gewichtZunahme;

Hast du doch weiter oben schon fast genau so stehen
 

mrBrown

Super-Moderator
Mitarbeiter
Du überschreibst ja auch den Wert, den gewicht vorher hatte, mit dem neuen Wert.
Um gleichzeitig den alten und neuen Wert zu haben, wirst du eine zusätzliche Variable nutzen müssen.
 

Neue Themen


Oben