Variablen werden von Schleife nicht erkannt

  • Hallo Leute,

    und wiedermal stecke ich in meinem Java Selbsstudium fest ;)

    Es geht darum das er Zufallszahlen erzeugen soll und diese sollen je nach Eingabe entweder zwischen zwei Integergrenzen liegen oder zwischen zwei Doublegrenzen.
    Die Grenzen habe ich glaub ich (zumindest nach bischen überlegen und austesten) recht gut hinbekommen, jedoch ist mein Problem das ich es mir in einer Schleife aus mir unbekannten Gründen meine Variablen nicht erkennt und ich nicht drauf komme warum nicht.

  • Der Scope von Variablen, die innerhalb eines von { und } eingeschlossenen Blocks definiert werden, endet mit }.

  • Hmmm ... interessant ... dachte das sie wenn sie im Main definiert werden fürs ganze Main bleiben. Wieder was gelernt.
    Wie geht man in so einem Fall vor? Wahrscheinlich setzt man das ganze total anders mit Hilfe von Objekten um, oder?

    lg Stefan



  • Die Lösung ist sicherlich nicht die Beste aba auf die Schnelle fällt mir nix besseres ein.

    mfg

  • Ganz allgemein bei so einem Problem:
    Du kannst am Anfang der main()-Methode die Variablen anlegen mit

    Code
    int low, high;


    In deinem if-Statement weist du ihnen nur Werte zu

    Code
    low = sc.next.....


    Dann sind die Variablen in der ganzen main()-Methode gültig, die Werte weist du aber weiterhin an der gleichen Stelle zu.

    PS: Und du bist nicht zufällig der Horrendus aus einem MUD? ;)

  • du solltest vielleicht dir auch mal was ansehen über membervariablen (variablen die in der ganzen klasse sichtbar sind). Die sind nämlich ein grundstein des OOP bzw. wennst ihre sichtbarkeiten noch dazu angibst und setter & getter methoden verwendest.

  • Ganz allgemein bei so einem Problem:
    Du kannst am Anfang der main()-Methode die Variablen anlegen mit

    Code
    int low, high;


    In deinem if-Statement weist du ihnen nur Werte zu

    Code
    low = sc.next.....


    Dann sind die Variablen in der ganzen main()-Methode gültig, die Werte weist du aber weiterhin an der gleichen Stelle zu.

    PS: Und du bist nicht zufällig der Horrendus aus einem MUD? ;)

    Also zuerst mal zu dem PS ... ja bin ich ... höchstwahrscheinlich ... nur noch die Frage wer du bist ;)

    Ist klar das ich am Anfang der Main Methode das anlegen könnte, aber ich weiss ja noch nicht sicher ob ich integer will oder double ;)

    Ich hab jetzt einfach mal die Schleife in den void rnd gelegt. Membervariablen und getter, setter Methoden schau ich mir sicherlich noch an, aber ich geh halt mal das Buch (How to think like a computer scientist - java version) von vorn bis hinten durch, mach ein paar Beispiele u.s.w.

    lg Stefan

  • Also zuerst mal zu dem PS ... ja bin ich ... höchstwahrscheinlich ... nur noch die Frage wer du bist ;)

    Znarf.

    Zitat

    Ist klar das ich am Anfang der Main Methode das anlegen könnte, aber ich weiss ja noch nicht sicher ob ich integer will oder double ;)


    Sorry, war allgemein gemeint für solche Probleme.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!