Klassen Klassen und Objekte

yoursfay

Mitglied
Hallo leute,
problem ist:
Frage war: Schreiben Sie eine set-Methode für den Tarif, um zu einem anderen Tarif zu wechseln.

Code:
public class Handytarif {

private String htarif; // tarif
private String wechsel; // tarifwechsel
private int min; // minute
private int price;

public Handytarif() {}
public String getWechsel()

{
   return wechsel;}

public void setTarifwechsel(String wechsel)

{
    this.htarif = wechsel;}

Stimmt das oder muss man was daran bearbeiten?

Aufgabe war: Schreiben Sie eine Methode „aufladen“, welches es erlaubt das Guthaben um einen angegebenen Betrag zu erhöhen. Stellen Sie sicher, dass das Guthaben nur erhöht werden darf, aber nicht verringert.

Code:
public class Guthaben{
private int credit;
private int totalcredit;
private int aufladen = 0;

public Guthaben() { }
public Guthaben (int credit)

{  this.credit = credit; }


  public void addCredit(int credit)

 {  this.credit = credit + credit;}
 

public void newCredit(int newCredit)

{    this.credit += newCredit;

 aufladen++;  }

 public int getAktuCredit()

 {return aufladen;  }

Bei main methode

Code:
Scanner input = new Scanner(System.in);

int icredit;

Guthaben currentcredit = new Guthaben();

System.out.println("Guthaben aufladen: ");

icredit = input.nextInt();

currentcredit.addCredit(icredit);

System.out.println("Credit: "+currentcredit.getAktuCredit());

Problem: wie kann ich die guthaben, was ich eingegeben hab mit alte guthaben addieren? und bei main wieder anzeigen lassen?
 

mihe7

Top Contributor
Stimmt das oder muss man was daran bearbeiten?
Von der Formatierung mal abgesehen? Schwierig zu sagen, es könnte sein, dass Du erstmal nur wechsel setzen sollst. Das hängt von der konkreten Aufgabenstellung ab.

Schreiben Sie eine Methode „aufladen“, welches es erlaubt das Guthaben um einen angegebenen Betrag zu erhöhen. Stellen Sie sicher, dass das Guthaben nur erhöht werden darf, aber nicht verringert.
Davon hast Du nichts umgesetzt. Und bitte, formatier das Zeug vernünftig, da fängt man ja zu schielen an.

Problem: wie kann ich die guthaben, was ich eingegeben hab mit alte guthaben addieren?
Indem Du die Methode aufladen() aus der vorherigen Aufgabe verwendest.
 
K

kneitzel

Gast
Hallo leute,
problem ist:
Frage war: Schreiben Sie eine set-Methode für den Tarif, um zu einem anderen Tarif zu wechseln.

Also erst einmal: Was verlangt diese Aufgabe:
Es gibt bereits eine Instanzvariable für den Tarif. Für diesen ist ein Setter zu schreiben.

Setter Methoden heißen i.d.R. wie die Variable, nur eben mit "set" davor und das erste Zeichen groß.

==> Keine neue Variable "wechsel" oder so einführen. Ist hier im Zusammenhang auch unsinnig. Das ist ja eine Tätigkeit: Den Tarif wechseln. Das ist also nichts, was gespeichert werden kann (hier im Zusammenhang). Einen Wechsel kann man natürlich dokumentieren - So es also eine Klasse Wechsel geben würde, dann könnte man da evtl. speichern: Wann hat wer den Tarif von welchem Wert zu welchem Wert geändert?
Aber all das ist nicht die Aufgabenstellung.

Und Dein Code ist extrem verwirrend. Du hast Tarif und Wechsel als Instanzvariablen gespeichert. Dann hast Du eine set Methode, die dann beides im Namen hat, einen Wechsel übergeben bekommen soll und dies dem Tarif zuweist?

Aufgabe war: Schreiben Sie eine Methode „aufladen“, welches es erlaubt das Guthaben um einen angegebenen Betrag zu erhöhen. Stellen Sie sicher, dass das Guthaben nur erhöht werden darf, aber nicht verringert.

Problem: wie kann ich die guthaben, was ich eingegeben hab mit alte guthaben addieren? und bei main wieder anzeigen lassen?

Also bei dem Code solltest Du noch einmal genau überlegen, was Du da überhaupt machst!

Code:
public void addCredit(int credit) {
  this.credit = credit + credit;
}
Was ist this.credit und credit? Was unterscheidet beide? Hast Du das verstanden?
Was willst Du machen? Und was macht dieser Code?

Was soll der Unterschied zwischen addCredit und newCredit sein?

Was soll denn das Aufladen machen? Evtl. ist das ja schon das, was die beiden vorherigen Methoden machen oder zumindest sehr ähnlich. (Da ja noch eine Kontrolle statt finden soll!)

Hier solltest Du einmal in eigenen Worten erläutern, was die einzelnen Methoden machen sollen.... Und am besten wirklich dabei genau Schritt für Schritt beschreiben, was gemacht werden soll...

Vor allem: Was ist credit und was ist aufladen?
Wenn der aktuelle Credit abgefragt wird, bekommt man aufladen?

Und wenn Du getter/setter hast, dann kannst Du guthaben lesen, eine Addition machen und das guthaben wieder setzen. Oder er gibt eine Methode, die das macht.

Aber nun ganz ganz wichtig:
==> Getter / Setter immer bitte ans Schema halten: Bei credit heisst der Getter getCredit und nicht getAktuCredit oder sonst irgendwie. Und er gibt den credit zurück und nicht irgend etwas anderes! Das ist sonst Code, der nur für eins gut ist: Die Tonne.

Sorry für die harten Worte. Das geht nicht gegen Dich. Ich will Dir nur deutlich machen, dass dies sehr wichtig ist und man sollte sich von Anfang an an gewisse Spielregeln halten, denn sonst ist ein großer Frust kaum zu vermeiden.

Also daher:
- Methoden sollten vernünftig benannt werden. Wenn möglich auch Abkürzungen vermeiden - oder die Abkürzungen sind üblich / sehr verständlich! Bei Settern / Gettern ist eigentlich klar, was die machen. Daher sollte man daran nichts drehen. Ein setName, das nicht den name setzt, ist etwas, das sofort verwirrt! Also Ziel ist: Du liest nur den Namen der Methode und du weisst genau, was die Methode macht. Und zwar macht die Methode nur das! newCredit setzt einen neuen Credit. Aufladen erhöhen ist etwas, das da ganz offensichtlich reingemogelt wurde!

Das einfach einmal von meiner Seite zu deinen Punkten.
 

temi

Top Contributor
Ergänzend zu den ausführlichen Erläuterungen von @JustNobody noch:
Schreiben Sie eine Methode „aufladen“
Wenn du eine Methode "aufladen()" schreiben sollst, warum heißt deine Methode dann "addCredit()"?

Du musst eigentlich nur ablesen: Methode aufladen, aha, ich brauche eine Methode mit dem Namen "aufladen":
public void aufladen() {

welches es erlaubt das Guthaben um einen angegebenen Betrag zu erhöhen.
Ok, ein angegebener Betrag, wo kann ich den angeben? Klar, im Parameter:
public void aufladen(int betrag) {
Und noch Guthaben erhöhen. Da muss wohl eine (Instanz-)Variable mit dem Namen "guthaben" (oder so ähnlich) erhöht werden. Einfache Rechenoperation.

Stellen Sie sicher, dass das Guthaben nur erhöht werden darf, aber nicht verringert.
Ups, da ist noch ne Bedingung (Bedingung könnte ja auf irgendwas mit if() hindeuten).
Komisch, ich addiere doch den "betrag" immer, wie soll da was abgezogen werden?

Denk mal drüber nach, wie das mathematisch möglich ist, mit einer Addition trotzdem den Wert zu verringern und verhindere das.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
G Klassen und Objekte Java Basics - Anfänger-Themen 2
M Klassen und Objekte Java Basics - Anfänger-Themen 2
J Objekte und Abstrakte Klassen Java Basics - Anfänger-Themen 2
Orkanson Objekte und Klassen Java Basics - Anfänger-Themen 8
S Objekte mit gleichem Namen in unterschiedlichen Klassen Java Basics - Anfänger-Themen 3
Z OOP Objekte einer Klasse weiteren Klassen zur Verfügung stellen Java Basics - Anfänger-Themen 17
D Methoden Wie können Klassen auf Klassenfremde Objekte zugreifen? Java Basics - Anfänger-Themen 7
C Klassen/Objekte Verständnis Java Basics - Anfänger-Themen 8
Z Wie Objekte anderer Klassen ansprechen? Java Basics - Anfänger-Themen 2
K JUnit: Objekte von eigenen Klassen vergleichen...geht nicht Java Basics - Anfänger-Themen 5
T Klassen Referenzen auf Klassen / Objekte Java Basics - Anfänger-Themen 5
K Methoden Uhr als Übungsaufgabe Klassen/Objekte Java Basics - Anfänger-Themen 3
A OOP Klassen und Objekte - Diagramme Java Basics - Anfänger-Themen 2
K Best Practice In Klassen auf andere Objekte mit variablen Namen zugreifen Java Basics - Anfänger-Themen 6
A Objekte aus 2 Klassen mit compareTo() vergleichen Java Basics - Anfänger-Themen 7
V Objekte/Klassen erstellen - Erklärung anhand Beispiel Java Basics - Anfänger-Themen 4
D Klassen Klassen, Objekte, Konstruktor - einfach erklärt Java Basics - Anfänger-Themen 12
U Objekte in Array erstellen und Methode in verschiedenen klassen aufrufen Java Basics - Anfänger-Themen 5
S Vererbung Objekte in verwandten Klassen (Kovarianz, Polymorphie) Java Basics - Anfänger-Themen 4
B Objekte aus einer anderen Klasse(in der sich weitere Klassen befinden) erzeugen Java Basics - Anfänger-Themen 24
B Klassen und Objekte Java Basics - Anfänger-Themen 10
J Objekte und Klassen Java Basics - Anfänger-Themen 8
I Objekte an andere Klassen/Methoden übergeben? Java Basics - Anfänger-Themen 5
L Vererbung - Wie Objekte verschiedener Klassen unterscheiden Java Basics - Anfänger-Themen 3
T Klassen, Objekte, Methoden Java Basics - Anfänger-Themen 9
X Klassen & Objekte Java Basics - Anfänger-Themen 6
J Verständniss Frage zu Klassen, Objekte und Methoden Java Basics - Anfänger-Themen 8
J Objekte und Klassen? Java Basics - Anfänger-Themen 12
G Objekte von Klassen die erst zur Laufzeit bekannt sind erstellen Java Basics - Anfänger-Themen 6
B Uni (Klassen und Objekte) verwenden Java Basics - Anfänger-Themen 2
D Objekte und Klassen Java Basics - Anfänger-Themen 15
muchodrinko Auf Objekte anderer Klassen zugreifen? Java Basics - Anfänger-Themen 16
T Klassen und Objekte externer Aufruf. Java Basics - Anfänger-Themen 8
M Klassen und Objekte => richtiges Verständnis? Java Basics - Anfänger-Themen 6
A Objekte von abstrakten Klassen? Java Basics - Anfänger-Themen 6
K Objekte/Klassen erweitern ~ Javascript Prototyp Java Basics - Anfänger-Themen 5
M Objekte zwischen Klassen "handeln" Java Basics - Anfänger-Themen 4
K Objekte erstellen, wenn der Klassen-Name als String vorliegt Java Basics - Anfänger-Themen 4
M Klassen und Objekte (kopieren) Java Basics - Anfänger-Themen 7
L Zusammenhang Methoden, Klassen, Objekte, static - sun doku Java Basics - Anfänger-Themen 4
K Programm in Klassen/Objekte zerlegen - wie? Java Basics - Anfänger-Themen 3
G Was sind Klassen, Objekte und Methoden? Java Basics - Anfänger-Themen 3
N Zugriff auf Objekte von fremden Klassen aus? Java Basics - Anfänger-Themen 4
M Klassen, Objekte, Konstruktor Java Basics - Anfänger-Themen 5
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
Detlef Bosau Nachladen von Klassen zur Laufzeit Java Basics - Anfänger-Themen 24
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
C Array von Klassen Java Basics - Anfänger-Themen 2
monsterherz 2 Klassen daher Probs mit dem Dateinamen Java Basics - Anfänger-Themen 9
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
D Klassen Klassen Kommunikation Java Basics - Anfänger-Themen 12
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
L Best Practice Annotierte Klassen im Classpath herausfinden Java Basics - Anfänger-Themen 1
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
Speedrunner klassen aufrufen Java Basics - Anfänger-Themen 41
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
D importieren eigener Klassen Java Basics - Anfänger-Themen 12
W Wo ist der Wurm in meinem Grundverständnis von Klassen? Java Basics - Anfänger-Themen 22
S Daten/Klassen/Packages richtig updaten!? Java Basics - Anfänger-Themen 2
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
elsaaaaaa Wochentag als String ausgeben mit JDK Klassen Java Basics - Anfänger-Themen 6
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
B Inventar als einzelne Klassen anlegen? Java Basics - Anfänger-Themen 12
G Java Klassen und Instanzmethoden Java Basics - Anfänger-Themen 15
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
S Klassen instanziieren und verwenden von Getter und Setter Java Basics - Anfänger-Themen 4
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Abstrakte Klassen Java Basics - Anfänger-Themen 11
A Generischen Klassen Java Basics - Anfänger-Themen 8
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Generische Klassen/Interface Java Basics - Anfänger-Themen 1
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
J 2 klassen benutzen Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben