Wie Kan Mij Helpen!!!

Status
Niet open voor verdere reacties.

noaphis

Nieuwe gebruiker
Lid geworden
16 dec 2005
Berichten
4
Ik heb een kleine programma gemaakt, dat bestaat uit drie aan elkaar gerelateerde (korte) classen. Wanneer ik deze classen compile krijg ik een heleboel errors. Ik denk zelf dat een kleine vergissing ( lees: declaratie- spellingfout etc) deze fouten veroorzaakt. Maar ik ben maar een leek en weet eigenlijk nog niks hierover.

vraag: Is er iemand die naar dit programma wil kijken?
Ik heb het als bijjlage toegevoegd.
Kan iemand mij anders vertellen waar ik een goede site
kan vinden over java-errors?
 

Bijlagen

Ik mis een class genaamd Menu

Verder moet je een beetje opletten met hoofdletter gebruik. Ik zal je een aantal voorbeelden geven uit de classe H_Canton:

void printHeader(int Tafelnummer) {
out.print("Rekening voor tafel ");
out.println(tafelNummer);
out.println();
out.print("gerecht aantal prijs totaal");
out.println();
}

Tafelnummer staat in de methode en bij de ouput heb je het over tafelNummer. De laatste lijkt me de juiste manier om in java variabelen te benoemen. Verder adviseer ik je om altijd public, private of protected bij een methode te zetten.

Zo ook bijvoorbeeld:
void meldAfwezig(int gerechtNummer) {
out.print(nummer);

gerecht = menuRij.geefMenu(gerechtNummer);
if ((gerecht.equals(MenuRij.gerechtNummer)) != null) {
maak van de MenuRij menuRij

Het zijn dus voornamelijk hoofdletter en kleine letter fouten die ik zie.
 
he snabby,
ontzettend aardig dat je de moeite hebt genomen om er naar te kijken.

vraagje:

Als je de methode private of protected maakt, wijzig je hiermee dan ook de direct de toegang tot de velden in de methode, of moet je dat appart aangeven?
 
een methode of variabele die private is kan alleen door methodes aangeroepen worden binnen de class zelf. Andere classes kunnen ze niet direct benaderen.

een methode of variabele die public is kan door alle classes direct aangeroepen worden

een methode die protected is, is public voor de classes die deze classes extenden of implementen. Voor andere classes is het private.

Nog even een kleine toevoeging. Meestal maak je variabelen private. Vervolgens maak je in de classe een getter en een setter. Het voordeel hiervan is dat je in die getter en setter nog dingen kan verwerken als een check of deze door de andere classe aangeroepen mag worden. (check bijvoorbeeld of iemand wel toegang mag hebben tot deze gegevens).

Voorbeelden:

public class Test1 {
private int nummer;

public Test1() {}

public int getNummer() {
return nummer;
}

public void setNummer(int nummer) {
this.nummer = nummer;
}

}

public class Test2 {
public Test2() {
Test1 lala = new Test1();
lala.setNummer(4);
System.out.println(lala.getNummer());
}
}
Dit is de manier waarop ik het meestal doe. De variabelen zijn private en dus alleen via de public methoden te benaderen. Het kan echter ook zo:

public class Test1 {
public int nummer;

public Test1() {}

}

public class Test2 {
public Test2() {
Test1 lala = new Test1();
lala.nummer = 4;
System.out.println(lala.nummer);
}
}

Je ziet hier dat ik direct de variabele kan aanroepen.
 
Bij dit gedeelte van de mehode :

}
input.readln();
printFooter(eindBedrag);
}

krijg ik de volgende foutmelding:

"Cannot find symbol"
Symbol: method printFooter(double)
location: class H_Canton

In de methode staat eindBedrag gewoon als een double gedeclareerd. Verder heb ik gechecked op schrijffouten.
Wat kan deze melding nog meer betekenen?




printFooter(eindBedrag);
 
Er bestaat geen methode printFooter. Er is wel een printHeader.
 
Beste snabbi of misschien anderen,
Ik kan de programma nu wel compilen, maar niet uitvoeren. Hoe kan dit?
 

Bijlagen

Op regel 127 van H_Canton heb je in mijn programma staan:
leesEnVerwerkRegel();

Op dit moment heeft de var gerecht de waarden in de class Gerecht:
prijs = 150
nummer = 71
menu = "Dagmenu"

Verder is menuRij gevuld met 39 gerechten. Daarna ga je echter de fout in. En het gaat fout op het volgende puntje.

regel 183 in Input, oftewel de regel met int charCode = bufEmpty() && endOfFile? CODE_NULL_CHARACTER: read();

De verwerking van deze regel duurt bij mij oneindig lang.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan