einfache Verzinsung mit for-Schleife & Ausschluss von Werten beim Einlesen

LaraMCS

Mitglied
Hallo zusammen,
(ich hoffe ich bin richtig, aber ich habe bisher nichts gefunden was besser passt)
also mein Problem ist folgendes:
Ich möchte gerne eine Methode erstellen, die ein Array füllt und später zurück gibt. In das Array soll an die erste Stelle mein Anfangswert. In die nächste Stelle soll die Summe aus dem Wert der vorrigen Stelle und einem gewissen Prozentsatz des Anfangswertes sein. Und das für jede Stelle des Arrays, sodass eine Berechnung von Zinswachstum ensteht. (Ich hoffe das ist verständlich)
Bisher habe ich das folgende:
Java:
//Array erschaffen das "ausgefuellt" und uebergeben wird
double [] Berechnung = new double [years +1];
for (int y = 1; y < years + 1; y++) {
	Berechnung [0] = amount;
//die naechste Stelle im Array ist die Summe aus der vorrigen Stelle und dem Zinssatz aus dem Anfangswert
	Berechnung [y] = Berechnung [y-1] + (amount * interest);
	}
(years = Die Laufzeit, also die Länge des Arrays
amount = Startwert
interest = Prozentwert
Diese Werte wurden vorher in einem Scanner abgefragt)
Nun soll da z.B. eigentlich rauskommen:
500.0 550.0 600.0 650.0 700.0 usw.
bei mir kommt aber:
500.0 550.0 605.0 665.5 732.0500000000001

Ich finde meinen Fehler einfach nicht :( ???:L


Außerdem möchte ich beim Einlesen meiner Werte mit einem Scanner bestimmte Werte ausschließen.
Bei dem Startwert zum Beispiel 0.
Geht das irgendwie?

Ich bin wirklich dankbar für jede Hilfe.
Ich sitze seit Stunden vor meinem PC und starre Eclipse an und komme mir dümmer vor als ein Toastbrot. ;(
Danke schonmal.
 

diggaa1984

Top Contributor
500.0 550.0 605.0 665.5 732.0500000000001
Sieht aus wie Anfangswert=500 und Prozentsatz=10

[0] = 500
[1] = [0] + [0]*(0.1)
[1] = [1] + [1]*(0.1)
...

Das ist nicht gewollt? Hätte ich aber aus deiner Beschreibung so verstanden
Ausserdem kannst du
Code:
Berechnung[0] = amount;
direkt vor die Schleife schreiben, das braucht ja nur 1x ausgeführt zu werden.
[EDIT]ah sehe du hast ja jedesmal AMOUNT*INTEREST .. lass mich mal weiter schauen :)[/EDIT]
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
Bei mir funktioniert dein Code tadellos!
Java:
for (int y = 1; y < years + 1; y++) {
	Berechnung[y] = Berechnung[y - 1] + (amount * interest);
	System.out.println(Berechnung[y]);
}
550.0
600.0
650.0
700.0
750.0
800.0
850.0
900.0
950.0
1000.0
 
Zuletzt bearbeitet:

LaraMCS

Mitglied
Danke erstmal!
Wenn ich den Code ohne Zusammenhang eingebe funktioniert er bei mir auch. Im Moment glaube ich mein Fehler liegt wo anders kann mir aber nicht erklären warum ...
Die Aufgabe ist etwas komplexer: der Benutzer soll außerdem eine Verzinsunsart auswählen können. Dafür hab ich einen boolean eingeführt und befürchte Momentan, dass dieser nie false wird ...
Hier der Coder mit mehr "Zusammenhang":
Java:
//Abfrage der Zinsart
		System.out.println("Geben Sie eine Zinsart ein (Zinseszins = 1 oder einfache Verzinsung = 2).");
		double isCompoundS = sc.nextDouble();
		//ist eine richtige Zinsart eingegeben?
		for (int pruefen4 = 1; pruefen4 <= 1; pruefen4 = pruefen4 * 1) {
		if (isCompoundS == 1 || isCompoundS ==2) {
			pruefen4 = 5;
		} else {
			System.out.println("Sie haben keine Zinsart gewählt, bitte geben Sie eine Zinsart ein.");
			isCompoundS = sc.nextDouble();
		}
		}
		//Zinsart in boolean umwandeln
		boolean isCompound;
		if (isCompoundS == 1) {
			isCompound = true;
		} else {
			isCompound = false;
		}
		//Array erschaffen und calculateInterest aufrufen
		double [] Leistungen = calculateInterest (amount, years, interest, isCompound);
		for (int i = 0; i < Leistungen.length; i++) {
		System.out.print(Leistungen[i] + " ");
		}
	}
	
	//neue Methode zur Berechnung
	public static double[] calculateInterest (double amount, int years, double
			interest, boolean isCompound) {
		
		//Array erschaffen das "ausgefuellt" und uebergeben wird
		double [] Berechnung = new double [years +1];
		
		//pruefen welche Verzinsungsart ausgewählt wurde
		if (isCompound = true) { //Zineszins
			for (int x = 1; x < years + 1; x++) {
				//an der 1. Stelle des Arrays steht immer der Anfangsbetrag
				Berechnung [0] = amount;
				//die naechste Stelle im Array ist die Summe aus der vorrigen Stelle und dem enstprechenden Zinssatz von dieser Stelle
				Berechnung [x] = Berechnung [x-1] * (1 + interest);
			}
		} else { //einfache Verzinsung
			for (int y = 1; y < years + 1; y++) {
				Berechnung [0] = amount;
				//die naechste Stelle im Array ist die Summe aus der vorrigen Stelle und dem Zinssatz aus dem Anfangswert
				Berechnung [y] = Berechnung [y-1] + (amount * interest);
			}
		}
		
		return Berechnung;
	}

ich hoffe es ist halbwegs verständlich
 

LaraMCS

Mitglied
ok mir hat anscheinend in der if-Bedinung ein = gefehlt deswegen wurde mein boolean nie false und dann konnte ich natürlich nie in die else-Bedingung kommen ...
:bloed:

Naja das mit den Werten beim Einlesen hab ich jetzt durch die for-Schleife gelöst, damit prüft er immer wieder, ob der Wert erlaubt ist.
 

diggaa1984

Top Contributor
Java:
for (int pruefen4 = 1; pruefen4 <= 1; pruefen4 = pruefen4 * 1) {
        if (isCompoundS == 1 || isCompoundS ==2) {
            pruefen4 = 5;
        } else {
            System.out.println("Sie haben keine Zinsart gewählt, bitte geben Sie eine Zinsart ein.");
            isCompoundS = sc.nextDouble();
        }
}
Dieses Konstrukt sieht für seine Funktion ein wenig wirr aus.

Erstmal:
Code:
for (int pruefen4 = 1; pruefen4 <= 1; pruefen4 = pruefen4 * 1)
könnte auch heissen:
Code:
while (pruefen4 == 1) { ... }
Andererseits brauchst du aber pruefen4 gar nicht, denn der Wert von isCompoundS ist ja interessant und ausreichend für eine Prüfung:
Code:
while ((isCompounds < 1) || (isCompounds > 2)) { <erneut abfragen> }

Und statt sc.nextDouble kannst du ja nextInt verwenden, denn als Eingabe erwartest du ja auch einen Ganzzahlwert (1 oder 2)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Einfache Navigations-App schnell selber Programmieren? Bitte um Ideen und Anregungen. Allgemeine Java-Themen 17
J Einfache Sprachsteuerung Allgemeine Java-Themen 3
L Übergabe an eine eher einfache Java- Applikation wegen Kündigung Allgemeine Java-Themen 1
K Einfache Verkettete Liste mit Node Allgemeine Java-Themen 3
D RMI Einfache Chat-Anwendung mit RMI Allgemeine Java-Themen 0
S Einfache Methode die Groesse eines Objekts zu ermitteln? Allgemeine Java-Themen 12
D einfache Filterung optimieren Allgemeine Java-Themen 16
M Einfache Kundenverwaltung, guter Programmierstil Allgemeine Java-Themen 3
S YUV to RGB (einfache Berechnung) Allgemeine Java-Themen 5
N einfache Klassen Allgemeine Java-Themen 18
M Schnelle Scriptsprache für einfache Funktionen? Allgemeine Java-Themen 5
R Einfache Matheaufgabe - Daten auf Anzeigebereich verteilen Allgemeine Java-Themen 4
E einfache grafische Oberfläche wie in MS C#? Allgemeine Java-Themen 6
V Einfache toString() generieren? Allgemeine Java-Themen 6
E einfache Frage zu Vector Allgemeine Java-Themen 8
E Einfache Frage zu ListIterator Allgemeine Java-Themen 10
E einfache Frage zu getRealPath(.) Allgemeine Java-Themen 2
E einfache Frage zu protected Allgemeine Java-Themen 10
E einfache Frage zu verdeckten Membern Allgemeine Java-Themen 2
E Einfache Fragen zu Dateien Allgemeine Java-Themen 7
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
A Wie schreibe ich eine For-Schleife in ein Stream API um? Allgemeine Java-Themen 12
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
berserkerdq2 Wie synchronisiere ich eine for-Schleife Allgemeine Java-Themen 12
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
A For-Schleife Allgemeine Java-Themen 5
J Algorithmen Analyse einer Schleife Allgemeine Java-Themen 6
1 Klassen Variabel aus Schleife übergeben Allgemeine Java-Themen 8
D "Automatisierte", variable verschachtele for-Schleife Allgemeine Java-Themen 9
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
K For-Schleife <> oder != Operator verwenden? Allgemeine Java-Themen 2
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
D While-Schleife - if Zweig unterbrechen Allgemeine Java-Themen 1
F Zweifache For-Schleife Allgemeine Java-Themen 6
P Operatoren Problem mit Zähler in recursiver Schleife Allgemeine Java-Themen 2
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
M While-Schleife schneller, solange die Abbruchbedingung nicht vom Schleifeninneren abhängt Allgemeine Java-Themen 3
S Variablen String[] Array per schleife in int[] einlesen Allgemeine Java-Themen 8
D Methoden Buttons erscheinen doppelt nach Wiederholung in Schleife Allgemeine Java-Themen 1
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
T for - Schleife Allgemeine Java-Themen 1
J While Schleife ausführen bis Zahl = X Allgemeine Java-Themen 19
R Komplizierte Schleife Allgemeine Java-Themen 1
Q For-Schleife in String-Value Allgemeine Java-Themen 3
F Abstrakte Klasse in "For each" Schleife Allgemeine Java-Themen 1
F for-Schleife auf Kommandoebene ausgeben Allgemeine Java-Themen 9
P Input/Output java.util.Scanner in einer Schleife und Exception-Behandlung: Einlesen einer Zahl Allgemeine Java-Themen 4
P Erweiterte For Schleife Allgemeine Java-Themen 7
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
Y automatisierte for Schleife Allgemeine Java-Themen 13
B For schleife und weiter? Allgemeine Java-Themen 8
D Probleme bei for-Schleife Allgemeine Java-Themen 4
N Frage zur while-Schleife Allgemeine Java-Themen 18
M for Schleife mit Swing Button abbrechen Allgemeine Java-Themen 7
M PdfPTable per for-Schleife befüllen Allgemeine Java-Themen 3
F for-Schleife mit : Allgemeine Java-Themen 5
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
W Problem mit Index in einer for-Schleife Allgemeine Java-Themen 8
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
P Variablen Auf durch for-Schleife generierte JComboBox zugreifen Allgemeine Java-Themen 3
G while Schleife ausführen solange eine Taste gedrückt ist Allgemeine Java-Themen 14
F Foreach und for - Schleife Allgemeine Java-Themen 10
W Berechnung Durchschnitt mit Schleife Allgemeine Java-Themen 9
S for-Schleife, while-Schleife Problem Allgemeine Java-Themen 6
H Netbeans Warning bei Thread.sleep in Schleife Allgemeine Java-Themen 4
A java.lang.NullPointerException bei Schleife Allgemeine Java-Themen 3
S Erste Schritte Exception beendet Schleife nicht - Methode macht trotz throw weiter? Allgemeine Java-Themen 9
R while schleife auf 3 durchgänge beschränken Allgemeine Java-Themen 6
V anstatt thread.join() einfach while schleife? Allgemeine Java-Themen 8
x22 for-Schleife Allgemeine Java-Themen 76
S Text in for Schleife in Label einfügen Allgemeine Java-Themen 4
J Schleife mit : Allgemeine Java-Themen 18
S Klassen in einer Schleife durchlaufen Allgemeine Java-Themen 11
E Schleife wird nicht ausgeführt!!! Allgemeine Java-Themen 8
C Schleife mit leerem Anweisungsblock wird trotz erfüllter Bedingung nicht verlassen Allgemeine Java-Themen 9
S Do-While Schleife bricht nicht ab Allgemeine Java-Themen 3
S Erste Schritte if-Anweisung in for- oder while-schleife umwandeln Allgemeine Java-Themen 3
K CheckBox schleife Allgemeine Java-Themen 2
D Methoden Thread Schleife Status Allgemeine Java-Themen 7
J Verschiedene Klassen als "Object" in ArrayList und dann in for-Schleife erzeugen!? Allgemeine Java-Themen 2
R In einer for Schleife bei einem Substring anfangen, wo man davor aufgehört hat Allgemeine Java-Themen 6
T Rekursion mit While Schleife kombinieren? Allgemeine Java-Themen 4
D Sterne Muster mit einer Schleife Allgemeine Java-Themen 5
Dragonfire Code Konvention for-Schleife / return Allgemeine Java-Themen 15
hdi Detail-Frage zur for-Schleife Allgemeine Java-Themen 9
J Thread pausieren, lange while-Schleife Allgemeine Java-Themen 8
Q Variable aus Schleife/Switch benutzen Allgemeine Java-Themen 7
J Erweiterte For-Schleife mit Vector Allgemeine Java-Themen 5
C Geschachtelte For-Schleife: Äußere Schleife wird nur einmal durchlaufen!? Allgemeine Java-Themen 3
W While-ESC-Schleife funktioniert nicht Allgemeine Java-Themen 3
W return Collection mit schleife durchsuchen Allgemeine Java-Themen 10
H Threads.... ich will aus der While-Schleife raus Allgemeine Java-Themen 6
calzone Warum wird nicht aus der Schleife gesprungen ? Allgemeine Java-Themen 2
lacyuu Schleife hängt sich auf, wieso?? Allgemeine Java-Themen 2
ModellbahnerTT Problem: Schleife über Textdatei Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben