Variablen Findet Variable nicht

chris30o0

Mitglied
Hi,
ich soll ein Programm schreiben, das ausrechnet, nach wievielen Jahren Lena ihr Geld verdoppelt hat.
So, y soll ihr Geld sein, daher ist es zu Anfang auf 380 festegelegt, danach wird es ja in der Schleife immer mit 1.045 (4,5% Zinsen pro Jahr) mulitpliziert.
Nun kommt die Schleife, die die Rechnung enthält.
Bis hierhin alles in Ordnung (liefert jedenfalls so keine Fehlermeldung, wer weiß)
Doch bei while findet er das x nicht.
Habe auch schon versucht, das x vor der Schleife zu definieren, dann beschwert er sich aber, dass das zweimal definiert wird.
Ich habe bestimmt einfach nen blöden Fehler gemacht, aber ich komm nicht drauf.
Also hier der sehr übersichtliche Code:
Java:
import java.io.*;

public class Zinsen {
  public static void main (String[] args)   {
    System.out.println ("Lena hat zur Konfirmation 380 DM erhalten, sie bringt das Geld zur Bank.");
    int y=380;
    do {
      int x = y*1.045;
    } while (x<760);
    
    System.out.println ("Nach" + x + "Jahren.");
  }
}

PS: Ich soll es zwar so machen (mit der Schleife), allerdings kommt mir das ein bisschen umständlich vor. Weiß jetz aber auch nicht, wie man das leichter machen könnte.
Wenn da jemand Ideen hat, nehm ich die auch gerne.
 
G

Gast2

Gast
Eine Variable ist nur in dem Block sichtbar in dem sie deklariert wurde. Dein x ist damit nur innerhalb der Schleife sichtbar.
=> Leg die Variable vor der Schleife an.
 

chris30o0

Mitglied
Das ging aber schnell :D
Also..
Wenn du das meinst:
Java:
import java.io.*;
 
public class Zinsen {
  public static void main (String[] args)   {
    System.out.println ("Lena hat zur Konfirmation 380 DM erhalten, sie bringt das Geld zur Bank.");
    int y=380;
    int x;
    do {
      int x = y*1.045;
    } while (x<760);
    
    System.out.println ("Nach" + x + "Jahren.");
  }
}
beschwert er sich wie gesagt, dass die Variable schon definiert ist.
Das finde ich allerindgs insofern komisch, dass er diese doch normalerweise überschreibt oder nicht?!
Irgendwie habe ich gerade alles vergessen, fühl mich, als hätte ich zum ersten mal nen Java Code gesehn :O
 

chris30o0

Mitglied
Ah.. so geht es :D
Aber nur fast.
Er macht nichts.
Nach der Schleife sollte ja theoretisch x ausgegeben werden.
Das ist aber nicht der Fall?!
 

jgh

Top Contributor
gerade am anfang ist es imho ganz wichtig, sprechende Variablennamen zu wählen...wenn du die Anzahl der Jahre wissen willst, dann solltest du bspw. auch die Jahre inkrementieren und nicht mit dem kapital verwechselt!!!

Java:
public static void main(String[] args) {
		System.out
				.println("Lena hat zur Konfirmation 380 DM erhalten, sie bringt das Geld zur Bank.");
		double kapital = 380;
		int jahre = 0;
		do {
			kapital = kapital * 1.045;
			jahre++;
		} while (kapital < 760);

		System.out.println("Nach " + jahre + "Jahren.");
	}
 

chris30o0

Mitglied
Ah danke jgh, so klappt das.
ist ja auch logisch.. ich multipliziere solange y bis x größer als 760 ist?
Wenn man mal drüber nachdenkt.. *facepalm*
Danke für den Denkanstoß.
 

Camill

Bekanntes Mitglied
PS: Ich soll es zwar so machen (mit der Schleife), allerdings kommt mir das ein bisschen umständlich vor. Weiß jetz aber auch nicht, wie man das leichter machen könnte.
Wenn da jemand Ideen hat, nehm ich die auch gerne.

Mathematisch kann man das zb. so lösen:
Java:
	public static void main(String[] args) {
		System.out.println(timeToDuplicate(4.5));
	}

	private static double timeToDuplicate(double percent) {
		return Math.log(2) / Math.log(1 + (percent / 100));
	}
 

chris30o0

Mitglied
So, mir ist langweilig, da wollte ich ein bisschen weiterbauen.
Habe nun folgendes (Ab if ist noch nicht fertig):
Java:
import java.io.*;
import java.lang.Math.*;

public class Zinsen {
  public static void main (String[] args)   {
    System.out.println ("Lena hat zur Konfirmation 380 DM erhalten, sie bringt das Geld zur Bank.");
    double y=380;
    double x=0;
    do {
      y = y*1.045;
      x++;
    } while (y<760);
    
    System.out.println ("Nach " + x + " Jahren hat sich ihr Geld verdoppelt.");
    BufferedReader in = new BufferedReader(
    new InputStreamReader(System.in));
    System.out.println ("Willst du auch deine Geld berechnen? 1 für Ja, 0 für nein");
    String s = in.readLine ();
    if (s=1) {
      System.out.println ("Bitte Betrag eingeben: ");
      String a = in.readLine ();
      System.out.println ("Bitte Zinssatz eingeben: ");
      String b = in.readLine ();
      System.out.println ("Bitte Faktor eingeben (verdoppeln - 2, verdreifachen - 3,... " );
      String c = in.readLine ();
      parseDouble (a) =  b;
      parseDouble (b) =  z;
      parseDouble (c) =  f;
      double l = (f/100)+1;
      do {
        b = b*z;
        g++;
      } while (b<l);
    }
    
  }
}
Er behauptet nun aber, dass s int wäre.
Aber da steht doch String s = ...
Also irgendwie sollte ich das vielleicht für heute lassen :p

€dit @ VP:
Das sieht nun nicht nicht wesentlich einfach aus, aber danke für die Möglichkeit :p
 
Zuletzt bearbeitet:

jgh

Top Contributor
noch schlimmer, du vergleichst nicht...denn das macht man mit [c]==[/c], sondern du willst dem String ein
Code:
int
zuweisen, obwohl die If-Bedingung einen Wahrheitswert erwartet!

[java=19] if (s.equals("1")) [/code]
 

chris30o0

Mitglied
So, nun ist das Thema tatsächlich abgehakt.
Vielen Dank für eure Tipps.
Theoretisch habe ich das alles mal gelernt.. aber.. naja :D
wen es interessiert, so ist es nun aus:
Java:
import java.io.*;
import java.lang.Math.*;

public class Zinsen {
  public static void main (String[] args)   {
    Console c = System.console();
    System.out.println ("Lena hat zur Konfirmation 380 DM erhalten, sie bringt das Geld zur Bank.");
    double y=380;
    double x=0;
    double g=0;

    do {
      y = y*1.045;
      x++;
    } while (y<760);

    System.out.println ("Nach " + x + " Jahren hat sich ihr Geld verdoppelt.");
    String s = c.readLine ("Willst du auch dein Geld berechnen? 1 für Ja, 0 für nein:  ");
    if (s.equals(("1"))) {
        int p=0;
        String a =  c.readLine ("Bitte Betrag eingeben: ");
        String b =  c.readLine ("Bitte Zinssatz eingeben: ");
        String d = c.readLine ("Bitte Faktor eingeben (verdoppeln - 2, verdreifachen - 3,... " );
        double w = Double.parseDouble(a);
        double z = Double.parseDouble(b);
        double f = Double.parseDouble(d);
        double l = (z/100)+1;
        double q = w*f;
        do {
          w = w*l;
          g++;
        } while (w<q);
        System.out.println("Du hast nach " + g + " Jahren  " + q + " Euro.");
    }

  }
}
 

chris30o0

Mitglied
Ist auch nur ein Tagesprojekt..
Habe nicht mehr vor das nochmal zu verwenden oder auszuweiten.
Normalerweise lass ich mir da was schlaueres einfallen :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
sserio Binomialkoeffizient, wie findet man k und n heraus Java Basics - Anfänger-Themen 18
V Wer findet den Fehler :) Java Basics - Anfänger-Themen 12
P module-info findet zweites Paket nicht Java Basics - Anfänger-Themen 1
I Regex findet keine Treffer Java Basics - Anfänger-Themen 4
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
D jsoup.select findet keine elemente Java Basics - Anfänger-Themen 2
J Compiler-Fehler Java findet main Klasse nicht Java Basics - Anfänger-Themen 16
K Schlüsselworte Nach Java update findet mdb Datei nicht Java Basics - Anfänger-Themen 6
A Vollkommene Zahlen: Findet keine Einzige Java Basics - Anfänger-Themen 9
O Javac findet die .java datei nicht Java Basics - Anfänger-Themen 2
snipesss Eclipse Neon findet meine Projekte nicht? Java Basics - Anfänger-Themen 1
snipesss IDE findet meine .txt Datei nicht! Java Basics - Anfänger-Themen 12
J .jar findet DATEI nicht Java Basics - Anfänger-Themen 2
A Umgebungsvariable CMD findet Hauptklasse nicht (hat bereits funktioniert) Java Basics - Anfänger-Themen 6
N Java find - findet nix Java Basics - Anfänger-Themen 1
S Classpath Findet die Klasse nicht classpath setzen? Java Basics - Anfänger-Themen 8
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2
C Jar Datei findet Bibliothek nicht Java Basics - Anfänger-Themen 2
K Programm findet datei in Jar nicht Java Basics - Anfänger-Themen 9
S Applet findet Klasse nicht Java Basics - Anfänger-Themen 7
E Executable jar-file findet class nicht Java Basics - Anfänger-Themen 12
T eclipse findet javax nicht Java Basics - Anfänger-Themen 4
M JDK installieren Glassfish, bzw. ArgoUML findet die JRE nicht Java Basics - Anfänger-Themen 4
H HashMap<Int, String> - Er findet die Int-Klasse nicht. Java Basics - Anfänger-Themen 3
J Compiler findet method nicht Java Basics - Anfänger-Themen 12
A CMD findet die java.class Datei nicht Java Basics - Anfänger-Themen 46
R FileInputStream findet Datei nicht Java Basics - Anfänger-Themen 5
S jar-File findet Hauptklasse nicht Java Basics - Anfänger-Themen 9
T Ausgabe findet nicht statt Java Basics - Anfänger-Themen 4
A Findet Main class nicht Java Basics - Anfänger-Themen 12
P Datentypen Warum findet er diese methoden nicht? Java Basics - Anfänger-Themen 13
Fu3L Programm findet nach .jar-Export Dateien nicht Java Basics - Anfänger-Themen 3
C Testprogramm kann nicht compiliert werden - javac findet file nicht Java Basics - Anfänger-Themen 12
Z Programm findet MAIN Datei nicht Java Basics - Anfänger-Themen 2
N Compiler findet array in gleicher methode nicht Java Basics - Anfänger-Themen 4
megachucky FileInputStream findet nur absoluten Pfad, keinen Relativen ?! Java Basics - Anfänger-Themen 7
M javac findet Oberklassedatei nicht Java Basics - Anfänger-Themen 7
GilbertGrape findet jar aus Classpath nicht Java Basics - Anfänger-Themen 4
C Wo findet man den Inhalt vordefinierter Methoden? Java Basics - Anfänger-Themen 15
B HashMap findet Key nicht Java Basics - Anfänger-Themen 2
Q Findet existierendes File auf Festplatte nicht Java Basics - Anfänger-Themen 6
M Wer findet den Fehler? Java Basics - Anfänger-Themen 19
G (csv)Datei lesen FindBug findet mgl. NullPointer - wie lösen Java Basics - Anfänger-Themen 3
M Deploy findet Datei nicht Java Basics - Anfänger-Themen 2
N Vergleich findet nicht statt. Java Basics - Anfänger-Themen 13
G Anwendung findet vorhandene Klasse nicht Java Basics - Anfänger-Themen 4
N Mein Applet findet -online- einfach die Klasse nicht ! Java Basics - Anfänger-Themen 6
E jedit findet javac nicht Java Basics - Anfänger-Themen 64
H JAR findet die main-class nicht Java Basics - Anfänger-Themen 9
I Hilfe wer findet mein Fehler in bei der Endlosschleife Java Basics - Anfänger-Themen 7
M Compiler findet main nicht Java Basics - Anfänger-Themen 4
H Anwendung findet Datei nicht Java Basics - Anfänger-Themen 2
A Programm findet keine wav-Dateien im jar Archiv Java Basics - Anfänger-Themen 4
T Totaler Anfänger findet Fehler nicht. Java Basics - Anfänger-Themen 13
G Programm findet andere .class-Dateien nicht Java Basics - Anfänger-Themen 6
R java findet nicht den neuesten JRE Java Basics - Anfänger-Themen 14
V Eclipse findet (meines Wissens) korrekte Klasse nicht Java Basics - Anfänger-Themen 3
G Public class??? Findet meine Klasse nicht. Java Basics - Anfänger-Themen 5
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
T Datum als Variable wert Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Variable Felderanzahl Java Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
W Schleife und einmal variable++ zu viel Java Basics - Anfänger-Themen 20
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
G variable kopieren bzw. woanders benutzen Java Basics - Anfänger-Themen 6
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
J Double Variable und Addition Java Basics - Anfänger-Themen 2
I Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final Java Basics - Anfänger-Themen 3
KogoroMori21 Variable im Parameter und Ohne Java Basics - Anfänger-Themen 5
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
H Datentypen Wertebereich von <Klassenname> <Variable> Java Basics - Anfänger-Themen 12
M Private Variable Java Basics - Anfänger-Themen 2
idontknow707 Matrix nach z.B. Variable durchsuchen Java Basics - Anfänger-Themen 4
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
s.marcii Modulo in der Variable einsetzen - ist das möglich? Java Basics - Anfänger-Themen 2
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
Y Wie kann ich die Variable in der Try Catch returnen? Java Basics - Anfänger-Themen 3
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
B Inkrement von Variable Java Basics - Anfänger-Themen 8
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben