Hi,
ich hab das Folgende Problem, also Hausaufgabe sollen wir einen Geldautomaten und dazu eine Karte machen. Das ist kein Problem... ich würd es allerdings gern so hinkriegen, dass man mehr als eine Karte verwenden kann.
Im Moment schaut das Prog so aus:
Karte:
Geldautomat
ist teilweise schlampig, aber ich hoffe verständlich...
D.h. was ich möchte:
- Jede karte speichert sein PIN + Nummer ab (Im Moment wird es ja überschireben, also wen man 2 Karten erstellt haben beide das PIN / Nummer der letzterstellten Karte)
- Bei Karte.reinschieben() müsste iwie das Objekt mit dem die Methode ausgeführt wird das "Hauptobjekt" werden, also von Automat angesprochen werden..
Würde mich freuen, wen mir jmd erklären würde wie sowas funktioniert, bzw ob es überhaupt so funktioniert wie ich es mir vorstelle ^^
Danke und MfG
ich hab das Folgende Problem, also Hausaufgabe sollen wir einen Geldautomaten und dazu eine Karte machen. Das ist kein Problem... ich würd es allerdings gern so hinkriegen, dass man mehr als eine Karte verwenden kann.
Im Moment schaut das Prog so aus:
Karte:
Java:
import java.lang.Object;
import java.math.BigInteger;
public class Karte
{
protected static int nummer;
protected static long PIN;
static int guthaben;
static int zustand;
public Karte()
{
double a = 0;
do
{
a = Math.random() * 10000;
PIN = (int) a;
}
while (a == 0);
do
{
a = Math.random() * 1000000001;
nummer = (int) a;
}
while (a == 0);
print();
guthaben = 5000;
}
static long getPIN()
{
return PIN;
}
int getnummer()
{
return nummer;
}
int getguthaben()
{
return guthaben;
}
public void reinstecken()
{
zustand = 1;
}
private void print()
{
System.out.println(getnummer());
System.out.println(getPIN());
}
}
Geldautomat
Java:
import java.util.Scanner;
public class Automat
{
int a = 0;
int x = 0;
int v = 0;
Scanner scanner = new Scanner (System.in);
public void geldAbheben()
{
if (Karte.zustand == 1)
{
PINprueffung();
}
else
{
System.out.println("Bitte erst karte reinlegen!");
}
}
private void PINprueffung()
{
int b;
int x = 0;
do
{
System.out.println("Bitte PIN eingeben");
b = scanner.nextInt();
x = x + 1;
if ( x >= 2 && b != Karte.getPIN())
{
System.out.println("Ihre Karte wird einbehalten");
System.exit(1);
}
else
{
if (b != Karte.getPIN())
System.out.println("Passwort Falsch, Sie haben noch " + (3 - x) + " Versuche");
}
}
while (b != Karte.getPIN());
{
System.out.println("Login erfolgreich");
menue();
}
}
private void menue()
{
int y;
System.out.println("Geben Sie die 1 ein um ihren Kontostand zu sehen, 2 um Geld abzuheben oder 3 zum abbrechen");
y = scanner.nextInt();
if (y == 1)
{
kontostand();
menue();
}
if (y == 2)
{
geldAbhebung();
}
if (y == 3)
{
System.exit(1);
}
else {
System.out.println("Zahl unbekannt");
menue();
}
}
private void kontostand()
{
System.out.println(Karte.guthaben);
}
private void geldAbhebung()
{
int c = 0;
int d = 0;
System.out.println("Wie viel möchten Sie abheben");
c = scanner.nextInt();
if (c > 0)
{
if (c <= Karte.guthaben)
{
Karte.guthaben = Karte.guthaben - c;
System.out.println("Sie haben " + c + " € abgehoben");
///// fehlt Aufruf "Automat"
karteHolen();
}
else
{
System.out.println("Nicht genügend guthaben vorhanden");
geldAbheben();
}
}
else
{
System.out.println ("Fehler");
menue();
}
}
private void geldRausholen()
{
int a;
do
{
System.out.println("1 eingeben zum Geld holen");
a = scanner.nextInt();
} while (a != 1);
System.out.println ("Geld entnommen");
verabschieden();
}
private void karteHolen()
{
int a;
do
{
System.out.println("1 eingeben zum Karte holen");
a = scanner.nextInt();
} while (a != 1);
System.out.println ("Karte entnommen");
geldRausholen();
}
private void verabschieden()
{
System.out.println("Vielen Dank für Ihren Besuch");
System.exit(1);
}
}
ist teilweise schlampig, aber ich hoffe verständlich...
D.h. was ich möchte:
- Jede karte speichert sein PIN + Nummer ab (Im Moment wird es ja überschireben, also wen man 2 Karten erstellt haben beide das PIN / Nummer der letzterstellten Karte)
- Bei Karte.reinschieben() müsste iwie das Objekt mit dem die Methode ausgeführt wird das "Hauptobjekt" werden, also von Automat angesprochen werden..
Würde mich freuen, wen mir jmd erklären würde wie sowas funktioniert, bzw ob es überhaupt so funktioniert wie ich es mir vorstelle ^^
Danke und MfG