• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Jave erlernen mit dem Hamster, Fragen (und es werden sich mehr ;) )

MICHI123

Spiele-Kenner/in
Mitglied seit
06.09.2004
Beiträge
4.067
Reaktionspunkte
52
Hi,
im Info unterricht haben wir jetzt mit Java angefangen, man kommt kaum hinterher, weil der total schnell erklärt, also versuch ichs mit dem Hamster jetzt mal zuhause (das Hamsterprog dürften viele kennen);
simple aufgabe, hamster soll bei unbekannter anzahl von Körnern im maul, auf das nächste feld gehen, die unbekannte anzahl an körnern dort aufsammeln, mitzählen, vorgehen und im nächsten feld dann die selbe anzahl wieder ablegen.

Ok, ich habe das hier versucht:
void main() {
vor();
nimm();
vor
gib();
}


int n=0;
void nimm(){
while (kornDa()){
nimm();
n=n+1();
}
}



void gib () {
for (korn>0());
gib();
n=n-1
}

also einmal vor, dann nimm neu definiert, damit er solange Körner da sind, Körner nimmt ,und dabei zu n (was zuerst null ist) immer eins dazu zählt. nun ein feld vorgehen. Jetzt soll er solange körner geben solange n größer als 0 ist.


zum meiner verteidigung (xD) unser lehrer erklährt wierklich unvollständig und in nem wahnsinns tempo, und ich hab vorher nix mit java gemacht.

danke im vorraus (weitere Fragen werden bestimmt folgen :-D )

cya
 
jetzt schauts so aus, hab alle fehler ausser einen eliminiert :S

void main() {
vor();
nimm();
vor();
gib();
}

int n=0
void nimm () {
while (kornDa()){
nimm();
n=n+1();
}
}

void gib () {
for (n>0());
gib();
n=n-1
}



In zeile 9 soll ein fehler sein, ich seh ihn aber nicht, die zeile ist ja
"void nimm () {"
ne andere zeile heisst aber
"void gib () {"
und in der soll kein fehler sein >.<

versteh ich net, da steht nur
";" expected void nimm () { Zeile 9
 
LowriderRoxx am 18.10.2006 18:22 schrieb:
MICHI123 am 18.10.2006 18:15 schrieb:
(...)
int n=0
void nimm () {
(...)

versteh ich net, da steht nur
";" expected void nimm () { Zeile 9
Da hast du den Fehler doch schon selber beschrieben ;)
ja, aber öhm, hab nun gemerkt, dass da einiges falsch war. nun schauts so aus


void main() {
vor();
nimmKoerner();
vor();
saehe();
}



int nimmKoerner () {
int n=0;
while (kornDa()){
nimm();
n=n+1;
}
return n;
}

void saehe (int n) {
while (n>0) {
n=n-1;
gib();
}

er meint nun Zeile 24 also bei der } klammer unter return n; dass ein } expectet } ist
versteh ich nicht, kannste mir das erklären?
den rest an fehlern hab ich soweit verstanden und entfernt...


da das ja "expected" ist, hab ich da mal eine } Klammer hingemacht, nun ist ein weiterer fehler aufgetaucht xD.
 
Ok, was das Programm jetzt genau machen soll, entzieht sich bisher meinem Verständnis, aber auf diese Weise kann mans zumindest kompilieren (achtung, Endlosschleife!):

Code:
public class test
{
    public void main() 
    {
        int i = 10;
        
        vor();
        nimmKoerner();
        vor();
        saehe(i);
    }    

    public int nimmKoerner () 
    {
        int n=0;
        while (kornDa())
        {
            nimm();
            n=n+1;
        }
        return n;
    }

    public void saehe (int n) 
    {
        while (n>0) 
        {
            n=n-1;
            gib();
        }
    }
    
    public void vor()
    {
        //TODO?!
    }
    
    public boolean kornDa()
    {
        return true; //TODO!
    }
    
    public void gib()
    {
        //TODO?!
    }
    
    public void nimm()
    {
        //TODO?!
    }
}

Überall, wo TODO steht, muss jetzt natürlich noch was sinniges rein, das überlass ich aber dir ;)
 
Zurück