Erste Klasse

Lybrial

Bekanntes Mitglied
Hallo und guten Tag,

ich bin gerade dabei mich das erste mal mit Klassen zu beschäftigen und
zwar wollte ich eine Klasse erzeugen, in der ich einige Rechnungen mit 2
Brüchen durchführen will.

Die Grundstruktur ist soweit fertig:

Java:
class Bruch
{
	public int mZaehler, mNenner;
	
	Bruch(int aZaehler, int aNenner)
	{
		mZaehler = aZaehler;
		mNenner = aNenner;
	}
	
	public void add(Bruch rhs) //rhs = RightHandSide
	{
		System.out.println("Hier steht der Cod fuer die Addition");
	}
	
	public void sub(Bruch rhs)
	{
		System.out.println("Hier steht der Cod fuer die Subtraktion");
	}
	
	public void mult(Bruch rhs)
	{
		System.out.println("Hier steht der Cod fuer die Multiplikation");
	}
	
	public void div(Bruch rhs)
	{
		System.out.println("Hier steht der Cod fuer die Division");
	}
	
	public String toString()
	{
		return "Bruch " +mZaehler+ "/" +mNenner;
	}
}

Java:
import java.util.Scanner;
public class BruchTest
{
	public static void main(String[] args)
	{
		Scanner input = new Scanner(System.in);
		
		int bruch1Zaehler, bruch1Nenner, bruch2Zaehler, bruch2Nenner;
		Bruch a, b;
		
		System.out.print("Bitte geben Sie den den Zaehler des ersten Bruches ein: ");
		bruch1Zaehler = input.nextInt();
		System.out.print("Bitte geben Sie den den Nenner des ersten Bruches ein: ");
		bruch1Nenner = input.nextInt();
		System.out.print("Bitte geben Sie den den Zaehler des zweiten Bruches ein: ");
		bruch2Zaehler = input.nextInt();
		System.out.print("Bitte geben Sie den den Nenner des zweiten Bruches ein: ");
		bruch2Nenner = input.nextInt();
		
		a = new Bruch(bruch1Zaehler,bruch1Nenner);
		b = new Bruch(bruch2Zaehler,bruch2Nenner);
		
		a.add(b);
		
		System.out.println(a);
	}
}

Was mir nun nicht ganz klar ist ist folgendes:
In meiner Klasse deklariere ich 2 variablen nähmlich mZaehler und mNenner.
Dem ersten Bruch gebe ich die variablen aZaehler und aNenner.

So nun möchte ich in der ersten Methode festlegen, wie das Programm 2 Brüche
addieren soll. Meine Frage ist jetzt wenn ich 2 Brüche addieren möchte muss ich
dann noch mal ein:

Java:
Bruch(int bZaehler, int bNenner)
{
	mZaehler = bZaehler;
	mNenner = bNenner;
}
einfügen oder wie funktioniert das dann?
 

Andi_CH

Top Contributor
Wie machst du das im Mathe Unterricht auf dem Papier?


1/5 + 3/4 ?

oder allgemein

b / c + d / e ---- schreib mal die Formel hin. Danach sagen wir dem Java wie es das zu rechnen hat ;-)
 

XHelp

Top Contributor
Mach dir lieber getter und setter Methoden.

Ich weiß nicht, was du mit dem Konstruktor machen willst...
aber es könnte so aussehen:
Java:
    public void mult(Bruch rhs)
    {
        mZaehler = mZaehler * rhs.mZaehler; //wobei rhs.getZaehler() besser wäre
        mNenner = mNenner * rhs.mNenner;
    }

P.S. ok, hab überlesen, dass es um Addition geht.
 

Andi_CH

Top Contributor
Die Denkweise in der Methode add ist die - von einen Bruch hast du Zähler und Nenner in den lokalen Variablen - vom anderen Bruch kannst du Zähler und Variable über rhs.mZaehler bzw rhs.mNenner zugreifen
ich mach mult und du add - versprochen?

Java:
public void mult(Bruch rhs)
{
    mZaehler = mZaehler * rhs.mZaehler;
    mNenner = mNenner * rhs.mNenner;
}

ts ts ts XHelp wie konnst du nur schneller sein als ich ;-) Guten Abend, bin bald weg am Weihnachtsessen ;-)
 

Lybrial

Bekanntes Mitglied
Mir gings nur darum:
Durch den Konstruktor "Bruch()" hab ich ja jetzt nur je eine Variable für
den Zähler und den Nenner erzeugt, zum rechnen brauch ich doch aber
je 2 Variablen für Zähler und Nenner oder nicht? kann ja nicht 2 Brüche
in der selben Variable speichern......
Oder hab ich die Funktionsweise noch nicht ganz verstanden? xD
 

Andi_CH

Top Contributor
Sie doch Mult an - da hats auch keine zusätzlichen Variablen

Blockier dich nicht mit Java - schrei ert mal hin die du die Brüche im Matheunterricht addierst
das dann Java beizubringen ist eine kleine Übung


a / b + c / d


einfach mal hinschreiben
 

Lybrial

Bekanntes Mitglied
Ok das mit dem "Verstehe" war wohl ein wenig zu übereilt.....:/

Multi und Division sind abgeschlossen.
Mein Problem ist nach wie vor bei der Addition.
Auf dem Papier ganz einfach:

Bruch 1: 1/2 Bruch 2: 3/4
---> gemeinsamer Nenner = 8 (8 weil ich 2 x 4 Rechne -> ein Nenner der immer geht)
Bruch 1: 4/8 Bruch 2: 6/8
---> 10/8

Nur wie bring ich das dem Programmbei
ich hatte jetzt zuerst wieder das gemacht:
Java:
public void add(Bruch rhs)
{
	mNenner = mNenner*rhs.mNenner;
}
um den Nenner rauszubekommen ABER
1. weiß ich jetzt nicht wie ich ihm den Zaehler sagen soll und
2. kann ich ja jetzt nicht weiterrechnen mit "mNenner = mNenner+rhs.mNenner machen,
weil in mNenner ja jetzt was ganz anderes drin steht als vorher.

wäre eine Hilfsvariable ein Ansatz?
Java:
public void add(Bruch rhs)
{
	int mNenner2, mZaehler2;
	mNenner = mNenner*rhs.mNenner;
	mZaehler = mZaehler*rhs.mNenner;
	mNenner2 = rhs.mNenner;
	mZaehler2 = rhs.mZaehler;
}
 
Zuletzt bearbeitet:

Lybrial

Bekanntes Mitglied
in dem Link steht folgendes drin:

"mNenner = mNenner*rhs.mNenner;
mZaehler = mZaehler*rhs.mNenner+rhs.mZaehler*mNenner;"

da kommt dann aber 28/8 rauß das ist nicht korrekt....

EDIT:

Omg erstes Statemant erst nach dem zweiten dann passts......
Danke ;)
 
Zuletzt bearbeitet:

Lybrial

Bekanntes Mitglied
Hab ein neues Problem in einer anderen Klasse.

Habe folgende Methode:
Java:
public boolean isLeapYear()
{
	if(mYear%4==0 && (mYear%100!=0 || mYear%400==0))
	{
		return true;
	}
	else
	{
		return false;
	}
}

und möchte sie mit dieser Methode aufrufen und testen:
Java:
public String toString()
{
	String mMonthString = " ";
	String mLeapYearString = " ";
	if(isCorrect())
	{
		switch(mMonth)
		{
			case 1: mMonthString = "Januar"; break;
			case 2: mMonthString = "Februar"; break;
			case 3: mMonthString = "Maerz"; break;
			case 4: mMonthString = "April"; break;
			case 5: mMonthString = "Mai"; break;
			case 6: mMonthString = "Juni"; break;
			case 7: mMonthString = "Juli"; break;
			case 8: mMonthString = "August"; break;
			case 9: mMonthString = "September"; break;
			case 10: mMonthString = "Oktober"; break;
			case 11: mMonthString = "November"; break;
			case 12: mMonthString = "Dezember"; break;
		}
		if(isLeapYear() = true)
		{
			mLeapYearString = " Schaltjahr!";
		}
		else
		{
			mLeapYearString = " Kein Schaltjahr!";
		}
		
		return mDay+ " " +mMonthString+ " " +mYear+ "/" +mLeapYearString;
	}
	else
	{
		return "Ungueltiges Datum";
	}
}

Mein Problem ist, das ich für:
Java:
if(isLeapYear() = true)
{
	mLeapYearString = " Schaltjahr!";
}
else
{
	mLeapYearString = " Kein Schaltjahr!";
}
Den Fehler bekomme:
required: variable
found: value
if(isLeapYear() = true)
------------^

Und ich weiß nicht wie ich das Jahr sonst als Schaltjahr oder als nicht Schaltjahr ausgeben soll.
Hab die Variable mYear schon reingepackt aber dann sagt er mir das: in "Class" cannot be applied to (int)
 
M

Marcinek

Gast
'=' ist ein Zuweisungsoperator in Java

und '==' ein Vergleichsoperator
 
Zuletzt bearbeitet von einem Moderator:
G

gman

Gast
"=" ist der Zuweisungsoperator, vergleiche macht man mit "=="!!

Edit: Mal wieder zu langsam, dafür ohne Rechtschreibfehler ;-)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
R Meine erste Klasse: Punkt Java Basics - Anfänger-Themen 3
MarvinsDepression Datentypen Generics: Erste Berührungen Java Basics - Anfänger-Themen 6
Zwanglos Warum wird nur die erste Zeile im while Block ausgeführt? Java Basics - Anfänger-Themen 8
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
F nur das erste Element mit iterator ausgeben Java Basics - Anfänger-Themen 5
J Objekt erste freie Stelle zuweisen Java Basics - Anfänger-Themen 3
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
Textsurfer Erste Schritte Ist es der erste Schleifendurchlauf? Java Basics - Anfänger-Themen 4
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
D String erste Zahl mit LKZ auslesen lassen Java Basics - Anfänger-Themen 36
C Erste Ziffer einer Zahl Java Basics - Anfänger-Themen 46
L Erste Schritte Erste Versuche mit Server und Client Java Basics - Anfänger-Themen 7
V Klassen Bestimmen Sie die erste und letzte Position an der ein 'c' steht? Java Basics - Anfänger-Themen 3
Crazynet jTable erste Zeile mit deffinierten Werten Java Basics - Anfänger-Themen 0
B Kreuzprodukt zweier Vektoren (Erste Java Aufgabe - Hilfestellungen und Tips erwünscht) Java Basics - Anfänger-Themen 4
Tarrew Generics: Erste gemeinse Oberklasse als Rückgabewert Java Basics - Anfänger-Themen 1
N InsertionSort sortiert erste Zahl im Array nicht mit? Java Basics - Anfänger-Themen 6
I String abschneiden erste und letzte Zeichen Java Basics - Anfänger-Themen 3
U Wie bekomme ich bei der Ausgabe das erste Komma weg Java Basics - Anfänger-Themen 8
S Erste App Java Basics - Anfänger-Themen 2
johnnydoe Erste Schritte Erster Blick - erste Fragen Java Basics - Anfänger-Themen 11
Farbenfroh Erste GUI Versuche Java Basics - Anfänger-Themen 1
R Java als erste Programmiersprache 5 Auflage Java Basics - Anfänger-Themen 0
N Erste Zeile bei BufferedReader doppelt lesen? Java Basics - Anfänger-Themen 2
L Das erste Mal GridBagLayout - wie geht das? Java Basics - Anfänger-Themen 5
O Erste Versuche eine Art "EventHandler" zu bauen.. Java Basics - Anfänger-Themen 8
H Worauf bezieht sich die erste else-Anweisung Java Basics - Anfänger-Themen 9
E nur der erste (mehrerer Strings) wird ausgegeben Java Basics - Anfänger-Themen 15
C Meine erste Funktion Java Basics - Anfänger-Themen 12
O erste Loggingversuche Java Basics - Anfänger-Themen 12
A Meine erste Bibliothek erstellen Java Basics - Anfänger-Themen 24
A Mit javac zweite Datei compilieren ohne Erste erneut zu compilieren? Java Basics - Anfänger-Themen 7
P HILFE !!! erste aufgabe beim programmieren Java Basics - Anfänger-Themen 13
T Erste Programm Java Basics - Anfänger-Themen 9
T Das erste Programm starten Java Basics - Anfänger-Themen 27
P Textdatei auf erste Zeichenkette Prüfen... Java Basics - Anfänger-Themen 10
R Erste und zweite Stelle einer Eingabe auslesen Java Basics - Anfänger-Themen 2
M Meine erste Java Programmierung funzt nicht :-( Java Basics - Anfänger-Themen 34
U Erste Ziffer abspalten Java Basics - Anfänger-Themen 3
J Erste und letzte Zeile in txt Java Basics - Anfänger-Themen 3
J Erste OO-Aufgabe-Probleme mit Aufgabenstellung Java Basics - Anfänger-Themen 32
J Erste Gehvesuche Java Basics - Anfänger-Themen 3
C Erste GUI - Wie auswerten? Java Basics - Anfänger-Themen 3
B Das erste Programm . Java Basics - Anfänger-Themen 4
L beim ersten compilen schon erste probleme Java Basics - Anfänger-Themen 8
G erste Schritte in Fenster und Grafik-Programmierung Java Basics - Anfänger-Themen 2
L JTabel abfragen ob es eine erste Zeile gibt? Java Basics - Anfänger-Themen 2
Q An erste Stelle in eine Queue eintragen Java Basics - Anfänger-Themen 4
C Generische Klassen, das erste Mal. Java Basics - Anfänger-Themen 8
J Neuling und erste Fragen Java Basics - Anfänger-Themen 8
R Erste Schritte,erste Class,Korrekturlesen und Verbesserungen Java Basics - Anfänger-Themen 3
T Erste Schritte (SEHR mühsam); Grafiktest Java Basics - Anfänger-Themen 5
D String, erste zeichen löschen Java Basics - Anfänger-Themen 6
J Threads: warten bis erste aktion ausgeführt wurde Java Basics - Anfänger-Themen 6
V Erste Ziffer aus einer dreistelligen "Zahl" heraus Java Basics - Anfänger-Themen 5
G Meine erste IF Abfrage Java Basics - Anfänger-Themen 11
A erste Schritte auf dem Weg eine XML-Datei zu parsen Java Basics - Anfänger-Themen 2
D Erste und letzte 3 Buchst. eines Str. in jeweils ein Array Java Basics - Anfänger-Themen 13
F Erste Schritte in Java - Wo finde ich Antworten? Referenzbib Java Basics - Anfänger-Themen 3
H Nur die erste Zeile einer Datei auslesen Java Basics - Anfänger-Themen 3
E Erste Schritte - warum läuft nur das eine? Java Basics - Anfänger-Themen 2
R Nur erste Zeile wird ausgelesen Java Basics - Anfänger-Themen 4
K Wortanzahl in erste Zeile schreiben Java Basics - Anfänger-Themen 6
W warum öffnet der nur die erste datei???? Java Basics - Anfänger-Themen 5
D erste spalte eines zweidimensionales Array sortieren ??!! Java Basics - Anfänger-Themen 2
I @Inject in normaler Klasse? Java Basics - Anfänger-Themen 4
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Klassen Klasse als Komponententyp bei Feldern Java Basics - Anfänger-Themen 2
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
Detlef Bosau nichtstatische Innere Klasse, this Pointer. Java Basics - Anfänger-Themen 47
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
frager2345 Optional Klasse Java Java Basics - Anfänger-Themen 2
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H Klassen Typ und Intitialisierungs-Klasse, wer bestimmt was? Java Basics - Anfänger-Themen 1
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
T Thread beenden aus zweiter Klasse Java Basics - Anfänger-Themen 4
frager2345 Java Klasse Buch verwalten Java Basics - Anfänger-Themen 0
frager2345 Java eigen Klasse zum verwalten von Büchern Java Basics - Anfänger-Themen 3
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
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
G zwei Instanzen einer Klasse Java Basics - Anfänger-Themen 29
C Int an andere Klasse übergeben Java Basics - Anfänger-Themen 26
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben