Hey Leute,
ich soll einen Geldwechselautomat programmieren - mit 4 Klassen nach dem EVA Prinzip.
Eingabe.java //Eingabe als 7,56€ oder als 754 unterscheiden.
Ausgabe.java //Asugabe des Geldwechsels
Geldwechselautomat.java //Berechnung des Münzarrays
Start.java //nur main Methode, Objekterzeugung und Aufrufe
Das Programm ist noch nicht fertig, ABER das einzige / größte Dorn im Auge ist, dass :
Ich soll ein Objekt auf Geldwechselautomat erzeugen -> in der main Methode kann ich aber nicht auf Methoden von Eingabe/Ausgabe zugreifen, obwohl alles public ist.
Folgende Codes :
[CODE lang="java" title="Eingabe.java"]import java.util.Scanner;
public class Eingabe {
public static int liesBetragEin(){
Scanner sc = new Scanner(System.in);
int rückgabe;
String eingabewert;
eingabewert = sc.next();
if(eingabewert.contains("€")) { // Falls das Euro Zeichen vorkommt
eingabewert = eingabewert.replace("€", "").trim(); // Zeichen entfernen und leerzeichen entfernen
return rückgabe =(int) Float.parseFloat(eingabewert)*100;
} else if(Float.parseFloat(eingabewert) > 0) {
return rückgabe =(int)(Float.parseFloat(eingabewert)) ;
} else { //Exceptions wie Wörter etc ??
System.out.println("Ungültige Eingabe");
liesBetragEin();
return 0;
}
}
}
[/CODE]
[CODE lang="java" title="Start.java"]public class Start {
public static void main(String[] args)
{
Geldwechselautomat a = new Geldwechselautomat();
a.umrechnung(liesBetragEin()); // liesBetragEin()) undefined for the type Start
System.out.println(a.getEingabe());
}
}
[/CODE]
[CODE lang="java" title="Ausgabe.java"]public class Ausgabe {
public void ausgabeEingabe(Geldwechselautomat a) {
System.out.println("Folgender Betrag soll gewechselt werden : " + a.getEingabe());
}
public static void ausgabe(Geldwechselautomat a) {
System.out.println(a.muenze[0] + "Muenze/n zu 2,00 €");
System.out.println(a.muenze[1] + "Muenze/n zu 1,00 €");
System.out.println(a.muenze[2] + "Muenze/n zu 0,50 €");
System.out.println(a.muenze[3] + "Muenze/n zu 0,20 €");
System.out.println(a.muenze[4] + "Muenze/n zu 0,10 €");
System.out.println(a.muenze[5] + "Muenze/n zu 0,05 €");
System.out.println(a.muenze[6] + "Muenze/n zu 0,02 €");
System.out.println(a.muenze[7] + "Muenze/n zu 0,01 €");
}
}[/CODE]
[CODE lang="java" title="Geldwechselautomat.java"]public class Geldwechselautomat {
/**Umrechnung des Betrages in Muenzen
* @param betrag (int) einzuwechselnder Betrag in Cent
* @return int[] das Array mit der Anzahl für jede Muenze, in die der
Betrag gewechselt wurde. */
private int eingabe;
// Array für die Muenzwerte
public Geldwechselautomat() {
eingabe = 0; //Default - Konstruktor
muenze[0] = 0;
muenze[1] = 0;
muenze[2] = 0;
muenze[3] = 0;
muenze[4] = 0;
muenze[5] = 0;
muenze[6] = 0;
muenze[7] = 0;
}
public int getEingabe() {
return eingabe;
}
public static final int[] muenze = new int[8];
public int[] umrechnung( int betrag ){
int[] muenze = new int[8];
int imuenze = betrag;
eingabe = betrag;
// Für 2€
muenze[0] = imuenze / 200;
imuenze = imuenze % 200;
// Für 1€
muenze[1] = imuenze / 100;
imuenze = imuenze % 100;
// Für 0,50€
muenze[2] = imuenze / 50;
imuenze = imuenze % 50;
// Für 0,20€
muenze[3] = imuenze / 20;
imuenze = imuenze % 20;
// Für 0,10€
muenze[4] = imuenze / 10;
imuenze = imuenze % 10;
// Für 0,05€
muenze[5] = imuenze / 5;
imuenze = imuenze % 5;
// Für 0,02€
muenze[6] = imuenze / 2;
imuenze = imuenze % 2;
// Für 0,01€
muenze[7] = imuenze / 1;
imuenze = imuenze % 1;
return muenze;
}
}
[/CODE]
Wie gesagt, da stimmt einiges noch nicht überein, Aufrufe fehlen. Mir geht es hier nur um den Aufruf von Methoden von Start.java aus.
Ich habe bisher nur gelesen, amn solle alles public haben etc. aber das habe ich.
Seh ich den Wald lauter Bäumen nicht ?
ich soll einen Geldwechselautomat programmieren - mit 4 Klassen nach dem EVA Prinzip.
Eingabe.java //Eingabe als 7,56€ oder als 754 unterscheiden.
Ausgabe.java //Asugabe des Geldwechsels
Geldwechselautomat.java //Berechnung des Münzarrays
Start.java //nur main Methode, Objekterzeugung und Aufrufe
Das Programm ist noch nicht fertig, ABER das einzige / größte Dorn im Auge ist, dass :
Ich soll ein Objekt auf Geldwechselautomat erzeugen -> in der main Methode kann ich aber nicht auf Methoden von Eingabe/Ausgabe zugreifen, obwohl alles public ist.
Folgende Codes :
[CODE lang="java" title="Eingabe.java"]import java.util.Scanner;
public class Eingabe {
public static int liesBetragEin(){
Scanner sc = new Scanner(System.in);
int rückgabe;
String eingabewert;
eingabewert = sc.next();
if(eingabewert.contains("€")) { // Falls das Euro Zeichen vorkommt
eingabewert = eingabewert.replace("€", "").trim(); // Zeichen entfernen und leerzeichen entfernen
return rückgabe =(int) Float.parseFloat(eingabewert)*100;
} else if(Float.parseFloat(eingabewert) > 0) {
return rückgabe =(int)(Float.parseFloat(eingabewert)) ;
} else { //Exceptions wie Wörter etc ??
System.out.println("Ungültige Eingabe");
liesBetragEin();
return 0;
}
}
}
[/CODE]
[CODE lang="java" title="Start.java"]public class Start {
public static void main(String[] args)
{
Geldwechselautomat a = new Geldwechselautomat();
a.umrechnung(liesBetragEin()); // liesBetragEin()) undefined for the type Start
System.out.println(a.getEingabe());
}
}
[/CODE]
[CODE lang="java" title="Ausgabe.java"]public class Ausgabe {
public void ausgabeEingabe(Geldwechselautomat a) {
System.out.println("Folgender Betrag soll gewechselt werden : " + a.getEingabe());
}
public static void ausgabe(Geldwechselautomat a) {
System.out.println(a.muenze[0] + "Muenze/n zu 2,00 €");
System.out.println(a.muenze[1] + "Muenze/n zu 1,00 €");
System.out.println(a.muenze[2] + "Muenze/n zu 0,50 €");
System.out.println(a.muenze[3] + "Muenze/n zu 0,20 €");
System.out.println(a.muenze[4] + "Muenze/n zu 0,10 €");
System.out.println(a.muenze[5] + "Muenze/n zu 0,05 €");
System.out.println(a.muenze[6] + "Muenze/n zu 0,02 €");
System.out.println(a.muenze[7] + "Muenze/n zu 0,01 €");
}
}[/CODE]
[CODE lang="java" title="Geldwechselautomat.java"]public class Geldwechselautomat {
/**Umrechnung des Betrages in Muenzen
* @param betrag (int) einzuwechselnder Betrag in Cent
* @return int[] das Array mit der Anzahl für jede Muenze, in die der
Betrag gewechselt wurde. */
private int eingabe;
// Array für die Muenzwerte
public Geldwechselautomat() {
eingabe = 0; //Default - Konstruktor
muenze[0] = 0;
muenze[1] = 0;
muenze[2] = 0;
muenze[3] = 0;
muenze[4] = 0;
muenze[5] = 0;
muenze[6] = 0;
muenze[7] = 0;
}
public int getEingabe() {
return eingabe;
}
public static final int[] muenze = new int[8];
public int[] umrechnung( int betrag ){
int[] muenze = new int[8];
int imuenze = betrag;
eingabe = betrag;
// Für 2€
muenze[0] = imuenze / 200;
imuenze = imuenze % 200;
// Für 1€
muenze[1] = imuenze / 100;
imuenze = imuenze % 100;
// Für 0,50€
muenze[2] = imuenze / 50;
imuenze = imuenze % 50;
// Für 0,20€
muenze[3] = imuenze / 20;
imuenze = imuenze % 20;
// Für 0,10€
muenze[4] = imuenze / 10;
imuenze = imuenze % 10;
// Für 0,05€
muenze[5] = imuenze / 5;
imuenze = imuenze % 5;
// Für 0,02€
muenze[6] = imuenze / 2;
imuenze = imuenze % 2;
// Für 0,01€
muenze[7] = imuenze / 1;
imuenze = imuenze % 1;
return muenze;
}
}
[/CODE]
Wie gesagt, da stimmt einiges noch nicht überein, Aufrufe fehlen. Mir geht es hier nur um den Aufruf von Methoden von Start.java aus.
Ich habe bisher nur gelesen, amn solle alles public haben etc. aber das habe ich.
Seh ich den Wald lauter Bäumen nicht ?