HILFE!!!
Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Aufgabe 5.3
Hi,
kann nichts von meinen erstellten java-Dateien auf den Server hochladen,
habe ich irgendetwas falsch gemacht??? bin seit heute Mittag dran und drehe langsam durch, hier meine Kaffees…
public class Kaffee {
//KaffeeVerwaltung als Instanz aufrufen
public static KaffeeVerwaltung meinKaffeeSortiment = new TKaffeeVerwaltung();
public static void main(String [] myArgs){
meinMenu(); //Menu als eine Methode deklariert
}//Ende main
//Menu zum aufrufen der einzelnen public methoden von KaffeeVerwaltung
static void meinMenu(){
//Hilfsvariable zum zwischenspeichern der eingabe
char eingabe = ' ';
//Menu-Schleife die ohne Pause weitermacht bis irgendwann break Anweisung kommt
while(true){
//Menu Grunddesign
System.out.println("===================================");
System.out.println("= Kaffee Menu =");
System.out.println("=---------------------------------=");
System.out.println("= [1] Kaffeesorte anlegen =");
System.out.println("= [2] Kaffeesorte aendern =");
System.out.println("= [3] Kaffeesorten anzeigen =");
System.out.println("=---------------------------------=");
System.out.println("= [Q] Programm beenden =");
System.out.println("===================================");
//Aufruf der eingabe ueber die Hilfsklasse Tastatur
eingabe = Tastatur.readchar();
//Uberpruefen ob programm beendet werden soll, wenn ja break
if(eingabe == 'q' || eingabe == 'Q') break;
//sonst Fallunterscheidung ob MenuTaste eingegeben wurde
else
switch(eingabe){
case '1': {
//Kaffeesorte anlegen
meinKaffeeSortiment.legeKaffeesorteAn();
break;
}
case '2': {
//Abfrage nach zu aendernder Kaffeesorten nummer
System.out.print("Kaffeesorten nummer: ");
//Kaffeesorte aendern
meinKaffeeSortiment.aendereKaffeesorte(Tastatur.readint());
break;
}
case '3': {
//Kaffeesorten anzeigen
meinKaffeeSortiment.zeigeKaffeesortenAn();
break;
}
default:{
//Ausgabe wenn kein Fall zutrifft
System.out.println("Es wurde keine gültige Taste eingegeben!\n\n");
}
}
}
//Ab hier wird ausgefuehrt wenn Menu-Schleife verlassen wird
System.out.println("\n\nAuf Wiedersehen!\n\n");
}//Ende meinMenu
}//Ende Klasse Kaffee
public class Kaffeesorte {
//Interne Variablen (diese sind private da kein public)
String sorte, Land, Roestung;
int jahr;
int nummer;
//Konstruktorhilfsvariable
//(static damit der Wert bleibt, selbst bei neuen Instanzen dieser
//Klasse, da ja jede Klasse eine eigene Nummer haben soll)
static int id = 0;
//Konstruktor
Kaffeesorte(){
//die eigene Nummer wird von der Hilfsvariable uebernommen und anschliessend diese erhoeht
nummer = id++;
//Bei erstellen einer Kaffeesorte wird gleich nach eingabe der Daten gefragt
eingabe();
}//Ende Konstruktor
//Methoden zur simplen Aenderung der internen Variablen
void sorteAendern(String into){
sorte = into;
}
void LandAendern(String into){
Land = into;
}
void roestungAendern(String into){
roestung = into;
}
void jahrAendern(int into){
jahr = into;
}
//Begin der public Methoden
public void aendern(){
//Hilfsvariable zum zwischenspeichern der eingabe
char eingabe = ' ';
//Menu-Schleife die ohne Pause weitermacht bis irgendwann break Anweisung kommt
while(true){
//Menu Grunddesign
System.out.println("\n===================================");
System.out.println("= Kaffeesorte aendern =");
System.out.println("=---------------------------------=");
System.out.println("= [1] Sorte =");
System.out.println("= [2] Land =");
System.out.println("= [3] Roestung =");
System.out.println("= [4] Jahr =");
System.out.println("=---------------------------------=");
System.out.println("= [Z] Zurueck =");
System.out.println("===================================");
//Aufruf der eingabe ueber die Hilfsklasse Tastatur
eingabe = Tastatur.readchar();
//Uberpruefen ob schleife verlassen werden soll, wenn ja break
if(eingabe == 'z' || eingabe == 'Z') break;
//sonst Fallunterscheidung ob MenuTaste eingegeben wurde
else
switch(eingabe){
case '1': {
//Sorte aendern
System.out.print("\nSorte: ");
sorteAendern(Tastatur.readString());
System.out.println("\n");
break;
}
case '2': {
//Land aendern
System.out.print("\nLand: ");
LandAendern(Tastatur.readString());
System.out.println("\n");
break;
}
case '3': {
//Roestung aendern
System.out.print("\nRoestung: ");
roestungAendern(Tastatur.readString());
System.out.println("\n");
break;
}
case '4': {
//Jahr aendern
System.out.print("\nJahr: ");
jahrAendern(Tastatur.readint());
System.out.println("\n");
break;
}
}
}
System.out.println("\n");
}//Ende Methode aendern
public void eingabe(){
//Aufeinanderfolgende Abfrage aller Eigenschaften
System.out.print("\nSorte: ");
sorteAendern(Tastatur.readString());
System.out.print("Land: ");
LandAendern(Tastatur.readString());
System.out.print("Roestung: ");
roestungAendern(Tastatur.readString());
System.out.print("Jahr: ");
jahrAendern(Tastatur.readint());
System.out.println("\n");
}//Ende Methode eingabe
public void ausgabe(){
//Ausgabe dieser Kaffeesorte anhand der internen Variablen
System.out.println("-> Kaffeesorte(" + nummer + ") Sorte: " + sorte + " Land: " + Land + " Roestung: " + Roestung + " Jahr: " + jahr);
}//Ende Methode ausgabe
}//Ende Klasse Kaffeesorte
public class KaffeeVerwaltung {
//Klasseninterne Variablen
int anzahlKaffeesorten;
Kaffeesorte KaffeesortenFeld[];
//Konstruktor
KaffeeVerwaltung(){
//Initialisieren der Klasseninternen Variablen
anzahlKaffeesorten = 0;
KaffeesortenFeld = new Kaffeesorte[100]; //ein array der auf Laenge 100 vorreserviert wird
}//Ende Konstruktor
public void legeKaffeesorteAn(){
//Ueberpruefung ob es erst 99 Kaffeesorten sind, wenn ja darf eine erstellt werden
if(anzahlKaffeesorten < 100){
//Erstellen einer Kaffeesorte durch initialisieren fuer die jeweilige stelle im array
KaffeesortenFeld[anzahlKaffeesorten] = new Kaffeesorte();
//und anschliessend erhoehen der Hilfsvariable zum mitzaehlen
anzahlKaffeesorten++;
}
//sonst Fehlermeldung
else System.out.println("\nMaximale Anzahl Kaffeesorten erreicht!\n");
}//Ende legeKaffeesorteAn
public void aendereKaffeesorte(int x){
//Uberpruefen ob übergebene Kaffeesortennummer im Sortiment vorhanden ist
if(x >= 0 && x < anzahlKaffeesorten) KaffeesortenFeld[x].aendern();
//sonst Fehlermeldung
else System.out.println("\nNummer nicht vergeben!\n");
}//Ende aendereKaffeesorte
public void zeigeKaffeesortenAn(){
//Ueberpruefen ob ueberhaupt eine Kaffeesorte vorhanden zum anzeigen
if(anzahlKaffeesorten > 0){
System.out.println("\nKaffeesorten im Sortiment:");
//Schleife zum Aufruf der public Methode ausgabe der Klasse Kaffeesorte
//fuer jede einzelne abgespeicherte Kaffeesorte im Array
for(int i = 0; i < anzahlKaffeesorten; i++){
KaffeesortenFeld[].ausgabe();
}
System.out.println("\n");
}
//sonst Fehlermeldung
else System.out.println("\nNoch keine Kaffeesorten im Sortiment\n");
}//Ende zeigeKaffeesortenAn
}//Ende Klasse KaffeeVerwaltung
achso, wäre auch cool, falls ihr Fehler entdecken solltet, mich darauf hinweisen würdet :rolleyes:
Boah haste echt etwas übertrieben mit deinen Klassen…es geht auch deutlich einfacher.
Also wenn du deine Daten nicht auf den Server hochladen kannst dann hat das doch imho nichts mit deinem Quellcode zu tun.
Und soweit ich des richtig verstanden habe sollen wir die Klasse Kaffee nicht anrühren und nur so benutzen wie sie ist.
Was kommt denn für ne Fehlermeldung wenn dus versuchst?
ups, muss es wohl überlesen haben!!!
toll, und was mache ich jetzt???
hochladen konnte ich die jetzt, abewr 0%???
ich bin stier am verzweifeln :wand:
fange jetzt nicht nochmal an zu programmieren
Am besten du gehst von der kaffe Klasse aus und schreibst erst mal eine ganz einfache Klasse Kaffee…
es reicht wenn du wirklich nur die Funktionen implementierst die gebraucht werden, insbesondere bei der Kaffeeverwaltung.
Du sollst hier selber keinerlei Menüführung implementieren sondern nur die Funktionalität für dass in Kaffee vorhandene Menu erstellen.
Vergleiche z.B mal diese Klasse Kaffesorte mit deiner, dann sollte dir auffallen was bei dir zu viel ist:
public class Kaffeesorte {
private String sorte;
private String land;
private String roestung;
private int jahr;
private int nummer;
public Kaffeesorte(int nr) {
nummer = nr;
}
private void sorteAendern(String s) {
sorte = s;
}
private void landAendern(String l) {
land = l;
}
private void roestungAendern(String r) {
roestung = r;
}
private void jahrAendern(int j) {
jahr = j;
}
public boolean aendern(String was, String neuerEintrag) {
if (was.equals("sorte")) {
sorteAendern(neuerEintrag);
return true;
}
if (was.equals("land")) {
landAendern(neuerEintrag);
return true;
}
if (was.equals("roestung")) {
roestungAendern(neuerEintrag);
return true;
}
else {
System.out.println("Bitte sorte, land oder roestung eingeben!");
return false;
}
}
public void eingabe(String s, String l, String r, int j) {
sorteAendern(s);
landAendern(l);
roestungAendern(r);
jahrAendern(j);
}
public void ausgabe() {
System.out.println("\nSorte Nummer " + nummer + "\n" + "\nSorte: " + sorte + "\nLand: " + land + "\nRoestung: " + roestung +
"\nJahr: " + jahr);
}
ich weiß nicht wie die Testcases dieses Mal rumzicken aber die dritte Datei soll [m]Kaffeeverwaltung.java[/m] heißen (deine Klasse heißt bisweilen noch [m]KaffeeVerwaltung[/m]).
tja, das hat man davon wenn man stur anfängt loszuschreiben und die Aufgabenstellung nicht durchliest :wand:
die datei kaffee.java ist beim Öffnen mit dem Editor total umhergeschmissen, gibt es da was anders, womit ich die öffnen kann???
Eines verstehe ich gerade absolut nicht:
die Datei Kaffee.java, muss da was abgeändert werden???
Da drin kann man sich schön austoben, wenn man seine Klassen [m]Kaffeesorte[/m] und [m]Kaffeeverwaltung[/m] ausgiebig testen will. Abgeben sollte man dann aber am besten wieder die ursprüngliche Datei.
OK, so hatte ich dies nämlich auch versatnden!
aber eines kann und will ich nicht verstehen: WARUM 0%???
Wie ist das bei Euch? :vogel:
kann mir mal jemand bitte sagen, wo bei mir der Fehler bei Kaffeeverwaltung ist?
public class Kaffeeverwaltung {
//Klasseninterne Variablen
int anzahlKaffeesorten;
Kaffeesorte kaffeesortenfeld[];
//Konstruktor
Kaffeeverwaltung(){
//Initialisieren der Klasseninternen Variablen
anzahlKaffeesorten = 0;
kaffeesortenfeld = new Kaffeesorte[100]; //ein array der auf Laenge 100 vorreserviert wird
}//Ende Konstruktor
public static boolean legeKaffeesorteAn(){
//Ueberpruefung ob es erst 99 Kaffeesorten sind, wenn ja darf eine erstellt werden
if(anzahlKaffeesorten < 100){
//Erstellen einer Kaffeesorte durch initialisieren fuer die jeweilige stelle im array
kaffeesortenfeld[anzahlKaffeesorten] = new Kaffeesorte();
//und anschliessend erhoehen der Hilfsvariable zum mitzaehlen
anzahlKaffeesorten++;
}
//sonst Fehlermeldung
else System.out.println("\nMaximale Anzahl Kaffeesorten erreicht!\n");
}//Ende legeKaffeesorteAn
public static boolean aendereKaffeesorte(int nr, String was, String
neuerEintrag){
//Uberpruefen ob übergebene Kaffeesortennummer im Sortiment vorhanden ist
if(x >= 0 && x < anzahlKaffeesorten) kaffeesortenfeld[x].aendern();
//sonst Fehlermeldung
else System.out.println("\nNummer nicht vergeben!\n");
}//Ende aendereKaffeesorte
public static void zeigeKaffeesortenAn(){
//Ueberpruefen ob ueberhaupt eine Kaffeesorte vorhanden zum anzeigen
if(anzahlKaffeesorten > 0){
System.out.println("\nKaffeesorten im Sortiment:");
//Schleife zum Aufruf der public Methode ausgabe der Klasse Kaffeesorte
//fuer jede einzelne abgespeicherte Kaffeesorte im Array
for(int i = 0; i < anzahlKaffeesorten; i++){
kaffeesortenfeld[ i ].ausgabe();
}
System.out.println("\n");
}
//sonst Fehlermeldung
else System.out.println("\nNoch keine Kaffeesorten im Sortiment\n");
}//Ende zeigeKaffeesortenAn
}//Ende Klasse Kaffeeverwaltung
Von welcher HTML-Seite hast du diesen Code?
Jawohl, HTML! Man beachte die Operatorzeichen &, <, >.
wieso html-seite?
Sind die Zeichen Java-ungeeignet???
public class Kaffeeverwaltung {
//Klasseninterne Variablen
int anzahlKaffeesorten;
Kaffeesorte KaffeesortenFeld[];
//Konstruktor
KaffeeVerwaltung(){
//Initialisieren der Klasseninternen Variablen
anzahlKaffeesorten = 0;
KaffeesortenFeld = new Kaffeesorte[100]; //ein array der auf Laenge 100 vorreserviert wird
}//Ende Konstruktor
public void legeKaffeesorteAn(){
//Ueberpruefung ob es erst 99 Kaffeesorten sind, wenn ja darf eine erstellt werden
if(anzahlKaffeesorten < 100){
//Erstellen einer Kaffeesorte durch initialisieren fuer die jeweilige stelle im array
KaffeesortenFeld[anzahlKaffeesorten] = new Kaffeesorte();
//und anschliessend erhoehen der Hilfsvariable zum mitzaehlen
anzahlKaffeesorten++;
}
//sonst Fehlermeldung
else System.out.println("\nMaximale Anzahl Kaffeesorten erreicht!\n");
}//Ende legeKaffeesorteAn
public void aendereKaffeesorte(int x){
//Uberpruefen ob übergebene Kaffeesortennummer im Sortiment vorhanden ist
if(x >= 0 && x < anzahlKaffeesorten) KaffeesortenFeld[x].aendern();
//sonst Fehlermeldung
else System.out.println("\nNummer nicht vergeben!\n");
}//Ende aendereKaffeesorte
public void zeigeKaffeesortenAn(){
//Ueberpruefen ob ueberhaupt eine Kaffeesorte vorhanden zum anzeigen
if(anzahlKaffeesorten > 0){
System.out.println("\nKaffeesorten im Sortiment:");
//Schleife zum Aufruf der public Methode ausgabe der Klasse Kaffeesorte
//fuer jede einzelne abgespeicherte Kaffeesorte im Array
for(int i = 0; i < anzahlKaffeesorten; i++){
KaffeesortenFeld[ i ].ausgabe();
}
System.out.println("\n");
}
//sonst Fehlermeldung
else System.out.println("\nNoch keine Kaffeesorten im Sortiment\n");
}//Ende zeigeKaffeesortenAn
}//Ende Klasse KaffeeVerwaltung
besser???
Naja, irgendwie wird bei dem Code, den du eingetragen hast, statt dem [m]<[/m] ein [m]<[/m] angezeigt, statt dem [m]>[/m] ein [m]&rt;[/m], und statt dem [m]&[/m] ein [m]&[/m].
Das sind nun mal HTML-Sonderzeichen.
Hast du den Text 1:1 aus deinem Quellcode hier rein kopiert oder irgendwie versehentlich in HTML umgewandelt?!?
Nachtrag:
Jawohl, besser. Aber das letzte Wort hat natürlich immer noch der Compiler.
frag mich bitte nicht,
auf meinem Editor sieht das nämlich nicht so aus, deswegen ist es mir auch nicht aufgefallen, danke!!!
Warum kriege ich aber nur 0%???
Weil sich der Code aus irgendeinem Grund nicht kompilieren lässt. Und warum das der Fall ist, kannst du ganz einfach rausfinden, indem du deinen Compiler anwirfst und die Fehlermeldungen analysierst.