Zinsrechnung mithilfe von Arrays

Edward22

Neues Mitglied
Hallo, ich habe gerade Probleme bei der Aufgabe. Ich muss an sich einfach ein Programm mithilfe eines Arrays schreiben. Bin aktuell zehnte Klasse und muss das als Klausurvorbereitung machen, also nichts Kompliziertes. Kann jemand mir bitte helfen?
 

Anhänge

  • WhatsApp Image 2022-03-08 at 13.53.16.jpeg
    WhatsApp Image 2022-03-08 at 13.53.16.jpeg
    148,4 KB · Aufrufe: 10
Wo hakt es denn? Wie weit kommst du, wie sieht dein Programm aus und was exakt verstehst du nicht bzw. funktioniert nicht?
 
Der Ablauf ist bei so Aufgaben immer gleich:

a) Formuliere erst einmal, was Du wie machen willst. Also vergiss Java und beschreibe es so in Worte, dass jemand Anderes mit Deiner Formulierung genau das machen kann (Also ohne die Aufgabe zu kennen).
b) Wenn Du das hast, dann kannst Du es in java übersetzen. Sollte es ei einem Punkt nicht gehen, dann musst Du den Punkt noch genauer beschreiben.
 
Und zunächst solltest du den Java-Editor dazu bringen, dass er dein Programm auch kompiliert (und ausführt).
Du kannst erst einmal mit dem "klassischen" Hello-world testen:

Java:
public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, world!");
  }
}
 
Mathematisch betrachtet ist das "Kapital * Zinsensatz^(Anzahl der Jahre)". Die "Math.pow()"-Funktion aus dem Package "java-lang" darf man aber wohl nicht nutzen.
 
Java:
    public static void main(String[] args) {
        double zpa = 1.05;
        double kapital[] = new double[50];
        kapital[0] = 12345;
        for (int i = 0; i < 7; i++) {
            System.out.println("Das " + i + ". Kapital beträgt: " + (kapital[i + 1] = kapital[i]));
            kapital[i + 1] *= zpa;
        }

        System.out.println("Übersicht:");
        System.out.println(IntStream.range(0, kapital.length).mapToObj(i -> Arrays.toString(new Object[]{i, kapital[i]})).collect(Collectors.joining(System.lineSeparator())));
    }
 
Auf Anfänger-Niveau ist der Einsatz von Streams eher unwahrscheinlich... Aber die Ausgabe scheint zu passen ( mit
Code:
import java.util.stream.IntStream;
import java.util.stream.Collectors;
vorab): ...
Das 47. Kapital beträgt: 122289.21313476251
Das 48. Kapital beträgt: 128403.67379150064
Übersicht:
[0, 12345.0]
[1, 12962.25]
[2, 13610.362500000001]
[3, 14290.880625000002]
[4, 15005.424656250003]
[5, 15755.695889062505]
[6, 16543.48068351563]
[7, 17370.654717691414]
[8, 18239.187453575985]...
 
Jap, habe die importe vergessen hier nochmal die vollständige Klasse:

Java:
import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class Zinsen {
    public static void main(String[] args) {
        double zpa = 1.05;
        double kapital[] = new double[50];
        kapital[0] = 12345;
        for (int i = 0; i < 7; i++) {
            // Sollte ggf. bis 50 laufen...
            System.out.println("Das " + i + ". Kapital beträgt: " + (kapital[i + 1] = kapital[i]));
            kapital[i + 1] *= zpa;
        }

        System.out.println("Übersicht:");
        System.out.println(IntStream.range(0, kapital.length).mapToObj(i -> Arrays.toString(new Object[]{i, kapital[i]})).collect(Collectors.joining(System.lineSeparator())));
    }
}
 
Btw., eigentlich wäre 1.0005 (also 0,05% 😉 ) als Zinssatz realistischer, bzw. negative Zinsen, bzw. bald könnte auch alles unerheblich. 😉
 

Zurück
Oben