Java-Hamster1_Inspiration und Hilfestellung zu Aufgaben

Javinner

Top Contributor
Guten Tag,

wie der Titel bereits sagt, eröffne ich ein Thema, in welchem alle Aufgaben des Buches Hamster1, die ich bis zum Dato gelöst habe, besprochen werden können.
Ebenso gibt es ein Video zu jeder von mir gelösten Aufgabe, in welchem ich die Vorgehensweise beschreibe (Genau das fällt mir als Neuling sehr schwer, die Vorgehensweise zu ermitteln).
https://www.youtube.com/channel/UCJYDlnTynrS3GRJl-3HWBWA/playlists
Da ich keinen seinen Aha-Erlebnisse berauben möchte, wird der Code nur auf Anfrage per PN verschickt.

Da ich selbst ein Anfänger bin, wie er im Buche steht, wird dieser YouTube Kanal nach und nach erweitert und da viele Wege nach Rom führen, bitte ich jeden, der die Aufgaben anders gelöst hat, als ich es in der Vorgehensweise beschrieben habe, dies per PN zu mitteilen.
Erstelle gerade eine große PDF zu allen Aufgaben.

LG Javinner
 

Javinner

Top Contributor
Hallo an alle.
Problembeschreibung:
Die zwei Variablen von Typ Int richtung und schritt sollen im Laufe des Programms überschrieben werden.
Wie sollte man dies in diesem Fall angehen?
Im Augenblick ist es so, dass bei jedem Funktionsaufruf die Variablen richtung und schritt mit den hinterlegten Werten 0 und 1 übergeben werden.
Wie wird man diesem Problem Herr, ohne globale Variablen einsetzen zu müssen?
Hm...


Code:
   int kehrt = 180;
    int richtung = 0;
    int schritt = 1;
   
    neuesVor(3, richtung, schritt);
    drehUm(kehrt, richtung);
    neuesVor(2, richtung, schritt);
    drehUm(kehrt, richtung);
}
void neuesVor(int i, int richtung, int schritt) {
    if(richtung == 0) {
        while(i > 0) {
            vor();
            i--;
            schritt++;   
        }
    }
    if(richtung == 2) {
        while(i > 0) {
            vor();
            i--;
            schritt--;
        }
    }
    schritt = schritt;
}
void drehUm(int grad, int richtung) {
    int i = grad / 90;
    if(richtung == 2) {
        while(i > 0) {
            linksUm();
            i--;
            richtung--;
        }
    }
    if(richtung == 0) {
        while(i > 0) {
            linksUm();
            i--;
            richtung++;
        }
    }
    richtung = richtung;
}
 

Javinner

Top Contributor
Bis zum Dato habe ich es, wie in dem Buch beschrieben, mit globalen Variablen gemacht. Da ab Kapitel 16 dies nicht mehr erwünscht ist, überlege ich, wie ich dies nun meistern soll.

Ein Beispiel von dem Programm, wie ich es bis zum Dato oft angewendet habe.


Code:
//---------------------------------------------Globale Variable
int richtung = 0;
int achseX = 0;
int achseY = 0;
//----------------------------------------------------Hauptprogramm
/*
Der Hamster geht einmal im Kreis herum und bleibt in der Ursprungsstellung
wieder stehen.
*/
void main() {
    neuesVor();              //Schleifenbedingung ursprung negiert, Blickrichtung Ost
    while(!ursprung()) { //Solange Boolean ursprung negiert
        neuesLinks();      //Globale Variable richtung wird veraendert
        neuesVor();        //Globale Variablen achseX und achseY werden veraendert
    }neuesLinks();       //Blickrichtung Ost
}
/*
*-----------------------------------------------neuesVor
*/
void neuesVor() {
    /*
    Je nach dem, welchen Wert die globale Variable richtung hat,
    wird von den globalen Variablen achseY und achseX subtrahiert
    oder dazu addiert
    */
    if(richtung == 0) {
        achseX++;
        vor();
    } else if(richtung == 1) {
        achseY++;
        vor();
    } else if(richtung == 2) {
        achseX--;
        vor();
    } else {
        achseY--;
        vor();
    }
}
/*
*-----------------------------------------------neuesLinks
*/
void neuesLinks() {
    /*
    Bei jedem Aufruf wird die globale Variable richtung
    mit neuem Wert ueberschrieben
    */
    linksUm();
    richtung = (richtung + 1) % 4;
    /*
    1 mod 4 = 1 Blickrichtung Ost
    2 mod 4 = 2 Blickrichtung Nord
    3 mod 4 = 3 Blickrichtung West
    4 mod 4 = 0 Blickrichtung Sued
    */
}
boolean ursprung() {
    /*
    Die Ausgangskachel
    Wenn beide globalen Variablen den Wert Null liefern,
    ist das Programm zu Ende
    */
    return achseY == 0 && achseX == 0;
}


Nun suche ich nach der Lösung, wie ich die Variablen innerhalb des main-Programms überschreibe.
So war die Idee dahinter (meine Frage) die Variablen richtung und schritt so zu überschreiben,
damit diese beim nächsten Aufruf die neu ermittelte Werte weitergeben.
 

thecain

Top Contributor
Das sind aber nicht "globale Variablen", die sind alle auf die Instanz bezogen.

Wobei auch die main eigtl falsch ist, da sie nicht static ist... wir wohl wieder irgendein "Pseude-Lern-Java-Tool" sein... da kann ich leider nicht weiterhelfen.

Aber deine Variablen sind auf jeden Fall nicht global so wie sie im Moment deklariert sind.
 

Javinner

Top Contributor
Danke trotzdem! :)

Beim Editor handelt es sich um ein Hamster-Simulator und dieser
soll die Grundkonzepte der imperativen Programmierung vermitteln.
Da ich noch nie mit Programmieren zu tun hatte, entschied ich mich fürs Erste die Grundkonzepte zu verinnerlichen. Ich finde es sehr gelungen und es brachte und bringt mir wirklich viel, nur erschlägt es ein an manchen Stellen!

Wenn ich die Lösung habe, die ich nach wie vor suche, gebe ich bescheid, was ich gesucht habe :D
 

Javinner

Top Contributor
Danach habe ich gesucht:
Eine Möglichkeit, eine definierte Variable zu überschreiben.
So ist es mir gelungen:
Code:
void main() {
    /*
    Variablen drehen
    */
    int links = 90;
    int kehrt = links * 2;
    int rechts = links * 3;
    /*
    Definierte Variable richtung: Wert gleich Null.
    */
    int richtung = 0;
 
    int a = drehUm(kehrt, richtung);
    /*
    Überschreiben der definierten Variable richtung.
    Diese liefert jetzt den Wert 2, siehe Variablen drehen und Prozedur drehUm
    */
    richtung = a;                                
}
int drehUm(int grad, int richtung) {
    int i = grad / 90;
    while(i > 0) {
        linksUm();
        i--;
        richtung = (richtung + 1) % 4;
        /*
        1 mod 4 = 1 Blickrichtung Ost
        2 mod 4 = 2 Blickrichtung Nord
        3 mod 4 = 3 Blickrichtung West
        4 mod 4 = 0 Blickrichtung Sued
        */
    }
    return richtung;
}

Also ist es möglich die definierten Variablen im Main-Abschnitt zu überschreiben, um dann mit jeder Prozedur darauf greifen zu können.
Gerade qualmt mein Kopf bei der Vorstellung der Fülle der jetzt gegebenen Möglichkeiten!
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Buch- Parallele Programmierung mit Java Threads Bücher, Tutorials und Links 1
Robert Zenz Java Wiederholungen - Sich wiederholende Themen kurz zusammengefasst Bücher, Tutorials und Links 6
M Java Grafik Übungen Bücher, Tutorials und Links 13
B Java Buch für Kinder Bücher, Tutorials und Links 5
M.L. Java 17 Bücher, Tutorials und Links 23
M.L. Java Dossier 8/21 Bücher, Tutorials und Links 5
M.L. Minecraft & Java 16 Bücher, Tutorials und Links 1
M.L. Java Version Almanac Bücher, Tutorials und Links 0
Ullenboom Neue Java-Video-Serie - Java 1 bis Java 16 - 50 Std. insgesamt Bücher, Tutorials und Links 1
M.L. "Free Java Training and $25 Certification Exams" Bücher, Tutorials und Links 0
M.L. Java-Tage (2020) Remote Bücher, Tutorials und Links 0
M.L. Dossier für Java-Entwickler 2020 Bücher, Tutorials und Links 0
M.L. Java 16 Bücher, Tutorials und Links 0
M Beste Fachzeitschrift für Java Bücher, Tutorials und Links 2
C "Java von Kopf bis Fuß" als pdf Bücher, Tutorials und Links 6
M.L. Java 14 Bücher, Tutorials und Links 2
M.L. Dossier für Java-Entwickler 2020 Bücher, Tutorials und Links 0
K "Webbrowser Programmierung in Java" Bücher, Tutorials und Links 0
J Buch für Anfänger gesucht - Java / JavaFX Bücher, Tutorials und Links 52
D Java Foundations 1Z0-811 Bücher, Tutorials und Links 0
M Lust auf Online-Kurs, um Java noch besser kennenzulernen? Bücher, Tutorials und Links 3
R Free Access-Ultimate Java Development and Certification Course Bücher, Tutorials und Links 0
M Java Bücher, Tutorials und Links 9
M.L. Java-Dossier für Softwarearchitekten 2019 Bücher, Tutorials und Links 0
T Java Fortgeschrittene und Profis Bücher, Tutorials und Links 2
T Java 8 lernen? & meinungen zum Buch Bücher, Tutorials und Links 12
K Cooles Java Tutorial, voll hilfreich Bücher, Tutorials und Links 3
K Vollständiges Java-Projekt zum Mitmachen Bücher, Tutorials und Links 2
M Einsteigerbuch / Tutorial für Java am PC + Android + Eclipse Bücher, Tutorials und Links 11
T Java Programmieren Bücher, Tutorials und Links 5
S Java Anfänger Kurs/Buch Bücher, Tutorials und Links 13
J Java Buch speziell zur Vererbung Bücher, Tutorials und Links 1
Wurstkopp [Humble Book Bundle] 15 Java O'Reilly E-Books für ~13€ (Englisch) Bücher, Tutorials und Links 0
S Java für Fortgeschrittene? Bücher, Tutorials und Links 1
S Java-Programmierung für Anfänger Bücher, Tutorials und Links 2
J Java-Hamster, mein Résumé. Bücher, Tutorials und Links 3
J Aktueller Java Kurs online Bücher, Tutorials und Links 5
W Introduction to Programming Using Java Bücher, Tutorials und Links 1
I SCJP Sun Certified Programmer for Java 6 Study Guide - ist das Buch noch aktuell? Bücher, Tutorials und Links 6
DaCrazyJavaExpert Buchempfehlung für den erweiterten Java-Einstieg Bücher, Tutorials und Links 6
P Buch-Empfehlung zum Einstieg in Java Bücher, Tutorials und Links 42
D Java Online Video Kurs Bücher, Tutorials und Links 2
S Java-Programmieraufgaben Bücher, Tutorials und Links 1
S Java Facebook Gruppe Bücher, Tutorials und Links 0
K Java 8 Buch Bücher, Tutorials und Links 6
J aide android java ide Bücher, Tutorials und Links 2
M ausführliche Doku/Tutorial/Buch zu Java Mission Control Bücher, Tutorials und Links 0
S Java Tutorials Bücher, Tutorials und Links 0
S Java-Buch für absolute Anfänger Bücher, Tutorials und Links 7
I Java von Kopf bis Fuß (2006er Version) Bücher, Tutorials und Links 3
W Suche Java einsteiger Buch und habe eine Frage zu einer Mathe Software. Bücher, Tutorials und Links 8
T Java Netzwerkprogramierung Bücher, Tutorials und Links 6
J Gutes Java Buch für programmieren von Anwendungen Bücher, Tutorials und Links 1
Fab1 Java lernen mit ZERO TO ONE! (Youtube) Bücher, Tutorials und Links 1
N Java Anfänger Bücher schlechte Erfahrungen! Bücher, Tutorials und Links 15
S Daten in Java Programmen Bücher, Tutorials und Links 4
M Von Java nach C# Bücher, Tutorials und Links 13
E Wie in Java FX einsteigen und Tutorials dazu? Bücher, Tutorials und Links 8
M Suche Tutorial für Sound erstellung in JAVA Bücher, Tutorials und Links 3
U Jemand Erfahrungen mit dem Buch "Schrödinger programmiert Java" ? Bücher, Tutorials und Links 10
F Java von Kopf bis Fuß kostenlos !! Bücher, Tutorials und Links 3
F Java Bücher für Einstieg inkl. Übungsaufgaben Bücher, Tutorials und Links 0
V Suche gute Bücher über Informatik insbesondere Java Bücher, Tutorials und Links 1
A Kursempfehlung Java unter Eclipse gesucht Bücher, Tutorials und Links 2
G http://www.java-forum.org/ herunterladen? Bücher, Tutorials und Links 5
I Anfangen mit Java Bücher, Tutorials und Links 10
O FÜR JAVA-Anfänger ohne Grundwissen Bücher, Tutorials und Links 2
S Suche Java Herausforderungen Bücher, Tutorials und Links 5
F Suche gutes Buch oder Tut zu Java Spieleprogrammierung Bücher, Tutorials und Links 3
R "Java ist auch eine Insel" - Unterschiede zwischen Java 5 und 7 Bücher, Tutorials und Links 3
J Was meint ihr zu Java mit Eclipse? Bücher, Tutorials und Links 5
E Cover von Java Büchern Bücher, Tutorials und Links 5
B Java Start Software Bücher, Tutorials und Links 4
A Java-Grundlagen mit älterem Java5 Buch erlernen? Bücher, Tutorials und Links 4
S Java-Buch Part2 Bücher, Tutorials und Links 5
tuttle64 Suche Buchempfehlungen zu Java Sicherheit Bücher, Tutorials und Links 2
M Empfehlung Java Buch für Programmdesign Bücher, Tutorials und Links 7
T Anfängerbuch für c++ und evtl Java Bücher, Tutorials und Links 10
L Java Projekte Bücher, Tutorials und Links 3
M Java 5 und Java 7 Bücher, Tutorials und Links 7
K Deutsches Buch für Java Swing Bücher, Tutorials und Links 7
H Java von Kopf bis Fuss ? Bücher, Tutorials und Links 3
J Java Von Kopf bis Fuß Bücher, Tutorials und Links 14
P Suche Java Übungsaufgaben zu Datenstrukturen wie Listen etc Bücher, Tutorials und Links 5
K Java ist auch eine Insel Bücher, Tutorials und Links 10
F Java-Buch als Nachschlagewerk? Bücher, Tutorials und Links 13
S Suche gutes Java-Buch für fortgeschrittenere Themen Bücher, Tutorials und Links 4
J Java als Anfang Bücher, Tutorials und Links 4
I 2. Kapitel in Java Von Kopf bis Fuß Bücher, Tutorials und Links 27
I Java - Von Kopf bis Fuß - Bücher, Tutorials und Links 11
J Java ist auch eine Insel für Anfänger? Bücher, Tutorials und Links 26
C Java Buch Bücher, Tutorials und Links 10
C 3 Fragen zu Java Bücher, Tutorials und Links 11
M Java im Informatik Unterricht Bücher, Tutorials und Links 12
I "Sprechen Sie Java?" oder "Java von Kopf bis Fuß" Bücher, Tutorials und Links 15
3 Lohnt sich ein neues Java Buch? Bücher, Tutorials und Links 10
S Java EE 6 Tutorial Bücher, Tutorials und Links 2
S Java von kopf bis Fuß Bücher, Tutorials und Links 6
V C# -> Java Literatur Empfehlung Bücher, Tutorials und Links 4
T Java im Webbereich Bücher, Tutorials und Links 4

Ähnliche Java Themen

Neue Themen


Oben