Klassen Klassen und Objekte

Y

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

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.
 
kneitzel

kneitzel

Top Contributor
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

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
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 Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 2
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
B 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
A Bankweverwaltung mit Klassen und Methoden Java Basics - Anfänger-Themen 14
J Klassen Problem Java Basics - Anfänger-Themen 8
I Java Klassen "Graphics" und "MouseEvent" kombinieren Java Basics - Anfänger-Themen 7
I Klassen als Datentyp nutzen? Java Basics - Anfänger-Themen 11
M Aufsplitten von Methoden in andere Klassen Java Basics - Anfänger-Themen 2
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
C Klassen objektorientiert aufteilen Java Basics - Anfänger-Themen 6
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
A Auf Eigenschaften von Objekten anderer Klassen zugreifen Java Basics - Anfänger-Themen 5
F Klassen und Pakete Projektübergreifend (Eclipse) Java Basics - Anfänger-Themen 6
V_Fynn03 Klassen Überweisungen tätigen und einzahlen mit 2 Klassen Java Basics - Anfänger-Themen 1
W Abarbeitungsreihenfolge Anonyme Klassen Java Basics - Anfänger-Themen 2
V_Fynn03 Bruchrechner programmieren (2 Klassen) Java Basics - Anfänger-Themen 9
D OOP- Eine Klasse in mehrere Klassen aufteilen Java Basics - Anfänger-Themen 7
J Problem mit Array: 2 Klassen Java Basics - Anfänger-Themen 2
W Frage zu anonymen Klassen Java Basics - Anfänger-Themen 4
Curtis_MC Parameter-Übergabe bei Klassen und Methoden Java Basics - Anfänger-Themen 12
E Klassen implementieren Java Basics - Anfänger-Themen 94
T Interfaces in erbenden Klassen Java Basics - Anfänger-Themen 2
C Methoden/Klassen Übergabewerte Java Basics - Anfänger-Themen 8
C Java Klassen/Methoden/Übergabeparameter Java Basics - Anfänger-Themen 4
L Wie geht man bei mehreren Action Klassen vor? Java Basics - Anfänger-Themen 0
P Datentypen, Klassen, Operatoren, Wrapperklassen Java Basics - Anfänger-Themen 2
L Wie teilt man ein Programm in vernünftige Klassen ein? Java Basics - Anfänger-Themen 10
T Klassen Denkfehler im Klassen "dynamisch" instanzieren? Java Basics - Anfänger-Themen 4
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
A Methode, Klassen Java Basics - Anfänger-Themen 3
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
J Zwei Klassen die sich gegenseitig referenzieren - Bad practice? Java Basics - Anfänger-Themen 4
Java The Hutt SetWerte über verschiedene Klassen Java Basics - Anfänger-Themen 16
D Klassen ausgeben Java Basics - Anfänger-Themen 2
H linkedlist generische klassen Java Basics - Anfänger-Themen 169
B CSS Klassen in eine Liste schreiben Java Basics - Anfänger-Themen 4
Queiser Nicht statische Klassen Java Basics - Anfänger-Themen 6
neerual Klassen Wie rufe ich Klassen, die andere Klassen extenden in einer Test Unit auf? Java Basics - Anfänger-Themen 10
J Gleiche Methode in 2 verschiedenen Klassen - Lösung ? Java Basics - Anfänger-Themen 8
G Refactoring von mehreren identischen Klassen Java Basics - Anfänger-Themen 36
O Wrapper Klassen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Anzeige

Neue Themen


Oben