Hallo,
habe noch immer Probleme mit meiner Praktikumsaufgabe. Sehe den Wald vor lauter Bäumen nicht mehr!
Ich weiß nicht, wie dieses Programm zu einer vernünftigen Ausgabe kommen soll.
Nur die beiden Methoden getPreis verstehe ich einfach nicht...
So weit läuft das Programm. Nur die Ausgabe stimmt nicht. Er findet einfach nichts, da ja auch nur -1 und "" und in preis ja gar nichts steht.
Bei Eingabe von Bsp. HändlerId = 1 und Jacke -> Jacke kostet bei Händler mit Id 1 -> 2500.
Habe schon zweimal versucht, Hilfe zu bekommen. Leider erfolglos.
Danke schon mal im vor raus, für jede Hilfe!
Gruß Andi
habe noch immer Probleme mit meiner Praktikumsaufgabe. Sehe den Wald vor lauter Bäumen nicht mehr!
Ich weiß nicht, wie dieses Programm zu einer vernünftigen Ausgabe kommen soll.
Nur die beiden Methoden getPreis verstehe ich einfach nicht...
Code:
import java.io.*;
public class PraktikumTest{
public static void main(String[] args) {
Preisbildung preisInstanz;
BufferedReader inp;
int haendler; // Beinhaltet eine Händler-ID
String prodName; // Beinhaltet einen Produktnamen
float preis; // Beinhaltet einen Preis
preisInstanz=new Preisbildung();
for(int i=1;i<=preisInstanz.getAnzahlHaendler();i++){
System.out.println("\nHaendler mit der ID "+Integer.toString(i)+" heisst '"+preisInstanz.getHaendlerBez(i)+"'");
System.out.println(" Haendler '"+preisInstanz.getHaendlerBez(i)+"' hat Preisliste ID "+preisInstanz.getPreisliste(i));
System.out.println(" Diese Preisliste heisst '"+preisInstanz.getPreislistenname(i)+"'");
}
System.out.println();
for(int i=1;i<=preisInstanz.getAnzahlProdukte();i++){
System.out.println("Das Produkt mit der ID "+Integer.toString(i)+" heisst "+preisInstanz.getProduktname(i));
}
System.out.println("\n\nPreisermittlung");
inp = new BufferedReader(new InputStreamReader(System.in));
System.out.println("\nBitte eine Haendler-ID eingeben: ");
try{
haendler=Integer.parseInt(inp.readLine());
System.out.println("\nBitte einen Produktnamen eingeben: ");
prodName=inp.readLine();
preis=preisInstanz.getPreis(prodName,haendler);
if(preis>=0){
System.out.println("Das Produkt '" + prodName +
"' hat bei Haendler ID " + Integer.toString(haendler) +
" den Preis " + Float.toString(preis));
}else{
System.out.println("Fuer das Produkt '" + prodName +
"' bei Haendler ID " + Integer.toString(haendler) +
" konnte kein Preis gefunden werden.");
}
}catch(Exception e){
System.out.println("Es ist bei der Eingabe der Händlernummer eine Exception aufgetreten: "+e.toString());
e.printStackTrace();
}
}
}
class Preisbildung{
final int[] HAENDLERID={1,2,3};
final String[] HAENDLERBEZ={"Sport Maier","Sport Mueller","Sport Heinzelmann"};
final int[] HAENDLERPREISL={1,1,2};
final int[] PREISLISTENID={1,2};
final String[] PREISLISTENBEZ={"Preisliste fuer Maier+Mueller","Preisliste fuer Heinzelmann"};
final int[] PRODUKTID={1,2,3,4,5,6,7,8};
final String[] PRODUKTBEZ={"Jacke","Hose","Stirnband","Socken","Ski","Schuhe","Rucksack","Faltboot"};
final int[] PREISID={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
final int[] PR_PREISLISTE={1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2};
final int[] PR_PRODUKTID={1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8};
final String[] PREIS={"25000","07000","01500","00500","59900","12000","06000","75000","12500","03500","00750","00250","25000","06000","03000","37500"};
public int getAnzahlHaendler(){
int anzahl = HAENDLERID.length;
return(anzahl);
}
public String getHaendlerBez(int haendlerBez){
return (HAENDLERBEZ[haendlerBez - 1]);
}
public int getPreisliste(int preislistenId){
return(HAENDLERPREISL[preislistenId - 1]);
}
public String getPreislistenname(int preislistenName){
if (preislistenName == HAENDLERID[0])
return(PREISLISTENBEZ[0]);
else if (preislistenName == HAENDLERID[1])
return(PREISLISTENBEZ[0]);
else
return(PREISLISTENBEZ[1]);
}
public int getAnzahlProdukte(){
int anzahlP = PRODUKTID.length;
return (anzahlP);
}
public String getProduktname(int produktN){
return(PRODUKTBEZ[produktN - 1]);
}
int getAnzahlPreise(){
int anzahl_Pr = PREISID.length;
return(anzahl_Pr);
}
//**********************************************************************
//Diese beiden Methoden machen Probleme:
float getPreis(int p_haendlerId,int p_produktId){
// fiktive Rückgabe für int -1 und für String "" damit das Programm läuft...
int preisliste = -1 //getPreisliste(p_haendlerId) -> habe schon alles mögliche probiert;
float preis = -1;
String preisStr = "";
return(preis);
}
float getPreis(String p_prodName,int p_haendler){
float preis;
int produktId = -1;
preis=getPreis(p_haendler,produktId);
return(preis);
}
/*****************************************/
/*********************/
}
Bei Eingabe von Bsp. HändlerId = 1 und Jacke -> Jacke kostet bei Händler mit Id 1 -> 2500.
Habe schon zweimal versucht, Hilfe zu bekommen. Leider erfolglos.
Danke schon mal im vor raus, für jede Hilfe!
Gruß Andi