Datentyp aus 3 longs

Status
Nicht offen für weitere Antworten.
S

Sticky

Gast
hallo Leute...


ich habe ein Programm in Java geschrieben womit man auf sehrrr primitive art eine
Bank bzw die eigenschaften einer bank darstellt. Konto eröffnen, löschen, überweisen, verzinsen,
eigenes kapital bei einer anderen bank anlegen und all so ein käse. Habe das ganze in zwei klassen
gestaltet. Eine Klasse Bank wo die ganzen methoden drinstehen und eine Klasse Konto die meine Schablone
für die Konten darstellt.

Jetzt soll ich einen eigenen datentyp entwickeln mit dem ich 24 vorkommastellen und 8 nachkommastellen
genau rechnen kann welcher aus drei long bestehn soll und euros, cents und microcents darstellen muss.
habe echt kein plan wie ich da rangehen soll nicht mal einen ansatz ??? :bahnhof:
Bin voll der anfänger was programmieren angeht.

Jemand ne Idee...

Klasse Konto

Code:
package aufgabe2;

public class Konto {
	int KontoNr;

	String Vorname;

	String Nachname;

	double Gutschreiben;

	double Kontostand;

	Konto(int KontoNr, String Vorname, String Nachname, double Kontostand) {
		this.KontoNr = KontoNr;
		this.Vorname = Vorname;
		this.Nachname = Nachname;
		this.Kontostand = Kontostand;
	}

}

Klassse Bank
Code:
package aufgabe2;


public class Bank {

	static double bankGuthaben = 1000; // Unser Startbankgutgaben
	
	static double cashguthaben;
	
	static double barauszahlung;

	static double banko4You;

	static double kundenKapital;

	static double Kapital;
	
	static double Geld;
	
	static Konto[] kundenKonto = new Konto[2000]; // Speicherplatz für 2000 Konten

	static void createAccount(String Nachname, String Vorname, long Startbetrag) {

		for (int i = 0; i < kundenKonto.length; i++) {
			
			Konto k = new Konto(i, Nachname, Vorname, (Startbetrag - 5));
			if (kundenKonto[i] == null) {
				if(Startbetrag > 0){
				kundenKonto[i] = k;
				bankGuthaben += 5;
				kundenKapital += (Startbetrag - 5);
				Kapital = bankGuthaben + kundenKapital;
				cashguthaben = Kapital;
				}
				break;
			}
		 }

			if (Startbetrag < 0)
				System.out.println("Sie können nicht mit einem neg. Startbetrag ein Konto eröffnen");
	}

	static void deleteAccount(int k) {
		
		if (kundenKonto[k]!= null && kundenKonto[k].Kontostand >= 10)
		{
			bankGuthaben += 10;
			kundenKonto[k].Kontostand -= 10;
			Kapital = bankGuthaben + kundenKapital - (kundenKonto[k].Kontostand);
			kundenKapital -= kundenKonto[k].Kontostand;
			cashguthaben = Kapital;
			
			System.out.println("KontoNr: "+k+" wurde gelöscht und der Betrag "+ kundenKonto[k].Kontostand+" wurde bar an den Kunden ausgezahlt");
			kundenKonto[k] = null;
		} else
			System.out.println("KontoNr: "+ k+" existiert nicht oder nicht ausreichend gedeckt");
			
	}

	static void depositCash(int k, long geld) {
		
		if (kundenKonto[k] != null && geld > 0) 
			{
				geld /= 100;
				kundenKonto[k].Kontostand = kundenKonto[k].Kontostand + geld - 0.01;
				bankGuthaben += 0.01;
				kundenKapital += geld - 0.01;
				Kapital = bankGuthaben + kundenKapital;
				cashguthaben = Kapital;
			}
		if(kundenKonto[k] == null || geld<0)
			System.out.println("Konto existiert nicht oder negativer Betrag");
	}

	static void drawCash(int k, long Geld) {
		
			if (kundenKonto[k] != null & Geld > 0){
				Geld /= 100;
				barauszahlung = Geld;
				kundenKonto[k].Kontostand = kundenKonto[k].Kontostand - (Geld + 0.05);
				bankGuthaben += 0.05;
				kundenKapital -= (Geld + 0.05);
				Kapital = bankGuthaben + kundenKapital;
				cashguthaben -= barauszahlung ;
			}
		
		if(kundenKonto[k] == null && Geld<0)
			System.out.println("Es kann keine negativer Betrag ausgezahlt werden");
	}

	static void transfer(int Quellkonto, int Zielkonto, long geld) {
		
			if (kundenKonto[Quellkonto] != null && kundenKonto[Zielkonto]!= null && geld >0){
				geld/=100;
				kundenKonto[Quellkonto].Kontostand -= (geld+0.33);
				bankGuthaben +=0.33;
				kundenKapital -= 0.33;
				Kapital = bankGuthaben + kundenKapital;
				kundenKonto[Zielkonto].Gutschreiben += geld;
				cashguthaben = Kapital;
	
		}
			if (kundenKonto[Quellkonto] == null || kundenKonto[Zielkonto]== null || geld < 0)
				System.out.println("Konto existiert nicht oder Betrag negativ");
}
	
	
			
		static void balanceDay(){
			double Zinsen;
			double restbetrag = 0;
			
			if (cashguthaben > 1000){
				restbetrag =  cashguthaben % 1000;
				banko4You = (cashguthaben - restbetrag) *1.000115;
				cashguthaben = restbetrag;
			}
				else if (banko4You >0){
					banko4You *= 1.000115;
				}
				else
					banko4You *= 1.000297;
				
				
					
					while(cashguthaben < 0){
						cashguthaben += 1000;
						banko4You -= 1000;
						
					}
		
							for(int i = 0; i <kundenKonto.length; i++){
				
				if(kundenKonto[i] != null && kundenKonto[i].Kontostand > 0)
				{
					Zinsen = kundenKonto[i].Kontostand * 0.00009;
					kundenKonto[i].Kontostand += Zinsen;
					kundenKonto[i].Kontostand += kundenKonto[i].Gutschreiben;
					kundenKonto[i].Gutschreiben = 0;
					bankGuthaben -=Zinsen;
					kundenKapital += Zinsen;
					Kapital = kundenKapital+bankGuthaben;
					
				}
				if(kundenKonto[i] != null && kundenKonto[i].Kontostand < 0)
				{
					Zinsen = kundenKonto[i].Kontostand * 0.00033;
					kundenKonto[i].Kontostand -= (-Zinsen);
					kundenKonto[i].Kontostand += kundenKonto[i].Gutschreiben;
					kundenKonto[i].Gutschreiben = 0;
					bankGuthaben +=Zinsen;
					kundenKapital -= Zinsen;
					Kapital = kundenKapital+bankGuthaben;
				}	
			}
			
				
		}		
				
				
		

	static void printAccount(int i) {
		if (kundenKonto[i] == null)
			System.out.println("Das Konto " + i + " existiert nicht");
		else
			System.out.println("KontoNr: " + kundenKonto[i].KontoNr + " "
					+ kundenKonto[i].Vorname + " " + kundenKonto[i].Nachname + " "
					+ kundenKonto[i].Kontostand + " €");

	}

	static void printBank() {
		System.out.println("####################################");
		System.out.println("balance: " + bankGuthaben + " €");
		System.out.println("cstmcap: " + kundenKapital + " €");
		System.out.println("capital: " +Kapital + " €");
		System.out.println("deposit: " + banko4You + " €");
		System.out.println("####################################");
		
		
	}

	public static void main(String[] args) {
		
		createAccount("Peter", "Pan",25000);
		createAccount("Hans", "Wurst", 12250);
		createAccount("Willy", "Billy", 32250);
		printAccount(0);
		printAccount(1);
		printAccount(2);
		printBank();
		transfer(1, 2, 30000);
		printAccount(0);
		printAccount(1);
		printAccount(2);
		printBank();
		balanceDay();
		printAccount(0);
		printAccount(1);
		printAccount(2);
		printBank();
		deleteAccount(2);
		printAccount(2);
		System.out.println(kundenKonto[5]);
		createAccount("hesap", "yeni", 250);
		printAccount(2);
		createAccount("Mustermann", "Max", 1000 );
		createAccount("Musterfrau", "Mia", 2000 );
		balanceDay();
		System.out.println(cashguthaben);
		printAccount(0 );
		printAccount(1 );
		printBank();
		
		drawCash(1, 200000);
		System.out.println(cashguthaben);
		printAccount(1 );
		balanceDay();
		System.out.println(cashguthaben);
		printBank();
		printAccount(1 );
		transfer(0, 1, 2400 );
		balanceDay();
		printAccount( 0 );
		printAccount( 1 );
		printBank();
		
		createAccount("Beispielfrau", "Bea", 23000 );
		transfer( 2, 1, 500000 );
		balanceDay();
		printAccount( 0 );
		printAccount( 1 );
		printAccount(2 );
		printBank();

		depositCash( 1, 999999 );
		drawCash(  2, 200000 );
		balanceDay();
		printAccount( 0 );
		printAccount( 1 );
		printAccount( 2 );
		printBank();


		deleteAccount( 1 );
		deleteAccount(2 );
		balanceDay();
		printAccount( 0 );
		printAccount( 1 );
		printAccount( 2 );
		printBank();
		
		
		
	}

}

Diesen Datentyp brauche ich halt für die Guthaben. Da ich als Bank bis zu 10 bzw -10 Quadrillionen und meine Kundenkontostände bis zu 1 bzw -1 Trillionen Euro ünterstützen müssen..können.
 

mattulla

Bekanntes Mitglied
einfach mal die Forumsuche benutzen....kann mich schwer dran erinnern, dass so etwas vor nicht allzu langer Zeit schon mal Thema war
 

meez

Top Contributor
Sticky hat gesagt.:
Diesen Datentyp brauche ich halt für die Guthaben. Da ich als Bank bis zu 10 bzw -10 Quadrillionen und meine Kundenkontostände bis zu 1 bzw -1 Trillionen Euro ünterstützen müssen..können.

:shock:
Naja...Höchstens die Staatsbank von Simbabwe hat solche Beträge, wenns mit der Inflation so weiter geht..;)
 

eldios

Mitglied
na shcon ne lösung gefunden???
die aufgabe kommt mir super bekannt vor. hast nicht zufällig SCHÄFERS oder 8)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Datentypen Wertebereiche passender Datentyp Java Basics - Anfänger-Themen 5
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
D Arraylist mit Komplexen Datentyp Java Basics - Anfänger-Themen 3
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
H Datentyp mit 3 Zuständen Java Basics - Anfänger-Themen 42
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
Kanaska Datentyp für Zahlenbereiche Java Basics - Anfänger-Themen 7
A Datentyp char Java Basics - Anfänger-Themen 27
I Klassen als Datentyp nutzen? Java Basics - Anfänger-Themen 11
C unverständlicher Code Attribute ohne Datentyp, wie geht das? Java Basics - Anfänger-Themen 8
T Datentyp mit Anführungszeichen drinnen Java Basics - Anfänger-Themen 3
R Datentypen Datentyp String lenght & charAT Java Basics - Anfänger-Themen 4
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
C Interface als Datentyp eines Attributes? Java Basics - Anfänger-Themen 6
B Datentypen Datentyp welcher den gleichen Namen wie die Klasse trägt? Java Basics - Anfänger-Themen 1
D Datentypen Welcher ist der beste Datentyp? Java Basics - Anfänger-Themen 28
F Datentypen Missverständnis Datentyp Java Basics - Anfänger-Themen 2
D Rechnen mit numerischen Datentyp Frage Java Basics - Anfänger-Themen 16
E Klassename als Datentyp??? Java Basics - Anfänger-Themen 4
F Wertebereich/Datentyp Java Basics - Anfänger-Themen 26
M Datentypen Java Datentyp Definition Java Basics - Anfänger-Themen 6
MiMa Datentyp Short Wert zuweisen über Methode Java Basics - Anfänger-Themen 2
Z Was habe ich davon mit einem Datentyp verschiedene Instanzen zu haben? Java Basics - Anfänger-Themen 6
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
E Datentypen Benutzerdefinierten Datentyp verwenden Java Basics - Anfänger-Themen 1
ms_cikar Java Datentyp unwandlung Java Basics - Anfänger-Themen 7
G Datentypen Tipps, Ratschläge erwünscht bzgl. Datentyp bestimmen über Wertebereich Java Basics - Anfänger-Themen 5
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
M Interface als Datentyp Java Basics - Anfänger-Themen 12
R Variablen Datentyp erst während Laufzeit festlegen Java Basics - Anfänger-Themen 6
1 Neuen Datentyp für rationale Zahlen als Klasse entwickeln Java Basics - Anfänger-Themen 20
R Datentypen Datentyp eines Werts in einer Textdateizeile abfragen und ändern Java Basics - Anfänger-Themen 4
R Interface Datentyp bei Erzeugung eines Objekts, dessen Klasse eine Schnittstelle implementiert Java Basics - Anfänger-Themen 18
B Collections Collection soll nur einen bestimmten Datentyp aufnehmen Java Basics - Anfänger-Themen 12
V Datentypen Frage zum Datentyp Byte Java Basics - Anfänger-Themen 11
B datentyp in binär umwandeln Java Basics - Anfänger-Themen 5
S Primitiver Datentyp Short , Vorteil/Nachteil Betrachtung Java Basics - Anfänger-Themen 6
J Field auf Datentyp prüfen Java Basics - Anfänger-Themen 8
D Datentyp Object Java Basics - Anfänger-Themen 2
A Datentypen Mehrdimensionaler Datentyp gesucht Java Basics - Anfänger-Themen 4
D Datentypen Abstrakter Datentyp lässt sich nicht casten Java Basics - Anfänger-Themen 7
F Klassenorganisation: Datentyp in Datentyp anlegen Java Basics - Anfänger-Themen 3
N Unerklärlich: Rekursiver Algorithmus gibt falschen Datentyp zurück... Java Basics - Anfänger-Themen 4
J Datentypen Was ist der Sinn vom Datentyp "char" ? Java Basics - Anfänger-Themen 11
G Eigener Autoboxing Datentyp Java Basics - Anfänger-Themen 3
Binary.Coder Welcher Datentyp für den Simplex Algorithmus Java Basics - Anfänger-Themen 3
Guybrush Threepwood Effizientester Datentyp zur Speicherung einer ungeordneten Menge von ints Java Basics - Anfänger-Themen 8
B Datentyp für +,-,*,/ Java Basics - Anfänger-Themen 5
D Datentypen Rekursiver Datentyp Java Basics - Anfänger-Themen 8
GianaSisters Auf Datentyp überprüfen Java Basics - Anfänger-Themen 13
W Datentypen Operatoren für eigenen Datentyp nutzen Java Basics - Anfänger-Themen 2
M Array mit komplexem Datentyp Java Basics - Anfänger-Themen 9
M 2 Arrays mit komplexen Datentyp vergleichen Java Basics - Anfänger-Themen 8
G Datentypen Welcher Datentyp Java Basics - Anfänger-Themen 2
F Datentypen Welchen Wert hat ein einfacher Datentyp nach der Deklaration? Java Basics - Anfänger-Themen 6
J Datentypen Datentyp für Datum Java Basics - Anfänger-Themen 23
B Java Bean, JSP, Komplexer Datentyp Java Basics - Anfänger-Themen 3
I Datentypen Eigener DatenTyp Java Basics - Anfänger-Themen 2
E Datentyp Array Java Basics - Anfänger-Themen 10
M Datentypen Eigenen Datentyp toArray() Java Basics - Anfänger-Themen 4
A Datentyp Char wird in BlueJ nur als leerer weißer Kasten dargestellt Java Basics - Anfänger-Themen 1
N Frage zu Datentyp byte Java Basics - Anfänger-Themen 14
F Datentyp Number???? Java Basics - Anfänger-Themen 2
A einlesen, schreiben, umwandlung datentyp Java Basics - Anfänger-Themen 10
A Datentyp mit String festlegen? Java Basics - Anfänger-Themen 13
D Generischer Datentyp Java Basics - Anfänger-Themen 2
D Datentyp: Liste von String->Double dingern Java Basics - Anfänger-Themen 4
K Datentyp vs. Datenstruktur - Unterschiede Java Basics - Anfänger-Themen 13
C Datentyp von einer Variablen ermitteln. Java Basics - Anfänger-Themen 12
M Datentyp Parameter Java Basics - Anfänger-Themen 18
R Welchen Datentyp verwenden? Java Basics - Anfänger-Themen 12
B Datentyp anlegen Java Basics - Anfänger-Themen 6
M Eigene Klasse mit "Enumeration"-Datentyp verknüpfe Java Basics - Anfänger-Themen 16
K Datentyp Problem Java Basics - Anfänger-Themen 2
X Rekursion & Generischer Datentyp Java Basics - Anfänger-Themen 11
A neuen Datentyp (Digit) definieren Java Basics - Anfänger-Themen 12
A Datentyp String in char umwandeln Java Basics - Anfänger-Themen 3
J datentyp -objectTyp Rückgabe Java Basics - Anfänger-Themen 2
D Superinterface als Datentyp Java Basics - Anfänger-Themen 5
E Generischer Datentyp und Arrays Java Basics - Anfänger-Themen 3
Z ArrayList<Entry<Datentyp, Integer>> ? Java Basics - Anfänger-Themen 12
L Datentyp Problem Java Basics - Anfänger-Themen 7
F Datentyp eines Inputs überprüfen Java Basics - Anfänger-Themen 2
NightmareVirus Datentyp des Arrayinhalt abfragen Java Basics - Anfänger-Themen 4
S Probleme mit Datentyp beim Einlesen Java Basics - Anfänger-Themen 4
C Datentyp byte Java Basics - Anfänger-Themen 22
G Java Problem [Datentyp] Java Basics - Anfänger-Themen 10
B Datentyp char -> Zeichen um einen Wert erhöhen Java Basics - Anfänger-Themen 12
M long Datentyp effizient mit Daten füllen Java Basics - Anfänger-Themen 2
M datentyp ausfindig machen Java Basics - Anfänger-Themen 2
C Eigenen Datentyp schreiben Java Basics - Anfänger-Themen 13
T Probleme mit Datentyp Double Java Basics - Anfänger-Themen 4
W Datentyp Zahlen sortieren Java Basics - Anfänger-Themen 12
B Datentyp gesucht Java Basics - Anfänger-Themen 5
J Datentyp einer Klasse bei Anwendung von implements Java Basics - Anfänger-Themen 4
R Datentyp Ring - zyklisch doppelt verkettete Liste - HILFE! Java Basics - Anfänger-Themen 12
M Linkedlist, wert auf datentyp prüfen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben