etwas aufaddieren... acc.

Status
Nicht offen für weitere Antworten.
U

Unregistriert

Gast
Sers Leute,

Wie kann ich einstellen, dass mein Programm jedes Jahr ein anderes Kapital DAZU holt... ich komm einfach net weiter... ich habe iwie was von einem ACC befehl gehört, der dazu addiert...

ich gebe ein java Kapital 2,5% Zinsen, 5 Jahre Laufzeit 300 100 200 100 300.

Das in der Mitte stimmt nicht. Das weiß ich.. aber wie mache ich das richtig? Gebt mir ein Ansatz....

Java:
class Zinsrechner
{
	public static void main (String [] args)
	{
		int Jahre = Integer.parseInt (args [0]);		//Laufzeit
		double Zins = Double.parseDouble (args [1]);		//Zinssatz
   		double counter = 0;
   		if(args.length == 1 + Jahre)
		{
			while(counter < Jahre);
   			{
			    int t=0;
			    double Kapital = Double.parseDouble (args [2+t]);  /Kapital....			
			    double Kapital = Kapital + ( Kapital * Zins / 100.);
		                t = t+1;	
				

				counter = counter + 1;	
				System.out.println (Kapital);
			}
		}
		else
		{
			System.out.println ("Falsche Eingabe");
		}
		
	}
}
 
Zuletzt bearbeitet von einem Moderator:

ARadauer

Top Contributor
auf den ersten blick:
Java:
 double Kapital = Double.parseDouble (args [2+t]);  /Kapital....
Das gehört ausserhalb der while Schleife hin, das willst ja nur einmal machen , oder?

Java:
double Kapital = Kapital + ( Kapital * Zins / 100.);
Hierkannst du das double weg nehmen, da die variable Kapital bereits deklariert wurde.

Variablen schreibt man klein...
 
U

Unregistriert

Gast
Das ist meine korrigierte Formel. Allerdings kommt wenn ich etwas eingebe falsche eingabe z.B:

java Zinsrechner 5 0.035 300 200 100 300 200

Falsche Eingabe

[Java]
class Zinsrechner
{
public static void main (String [] args)
{
int Jahre = Integer.parseInt (args [0]); //Laufzeit
double zins = Double.parseDouble (args [1]); //Zinssatz
double counter = 0;
if(args.length == 1 + Jahre)
{
int t=0;
while(counter < Jahre);
{

double kapital = Double.parseDouble (args [2+t]); // Kapital, dass er sich holt also im ersten Jahr 300... dann zahle ich ein Jahr später 200 ein...
kapital = kapital * Math.pow(1+zins/100, t); // Zinsformel



counter = counter + 1;
System.out.println (kapital);
t = t+1;
}
}
else
{
System.out.println ("Falsche Eingabe");
}

}
}
[/code]
 

Landei

Top Contributor
Wenn du Math.pow(1+zins/100, t) schreibst, muss der Zins in den Argumenten auch in Prozent angegeben werden, also 3.5 anstatt 0.035
 

Andreas29

Bekanntes Mitglied
Hi,

also, soweit ich das bei einem schnellen drüberfliegen gelesen habe, ist das Ergebnis deines Programmes bei deiner Eingabe völlig korrekt.
Du gibst als Parameter an
5 0.035 300 200 100 300 200
Das sind ca 7 Parameter. In Zeile 8 fragst du aber ab, ob die Anzahl der Parameter 1 + Jahre entspricht, dabei ist Jahre der Wert des ersten Parameters, also 5. Und da 5 + 1 meistens 6 :) ist, ist diese Aussage falsch ( 6 ist nicht 7) und daher gibt er Falsche Eingabe aus.
Entweder passt du die Abfrage an oder du lässt einen Parameter weg.

Schönes Wochenende,
Andreas
 
U

Unregistriert

Gast
Klappt immer noch nicht wirklich......Habe es jetzt mal korrigiert, so wie von dir beschrieben.

Ich will "acc" verwenden um das [args2] zu erhöhen... wie geht das denn?




[Java]
class Zinsrechner
{
public static void main (String [] args)
{
int Jahre = Integer.parseInt (args [0]); //Laufzeit
double zins = Double.parseDouble (args [1]); //Zinssatz
double counter = 0;
int t=0;
while(counter < Jahre);
{

double kapital = Double.parseDouble (args [2+t]); // Kapital, dass er sich holt also im ersten Jahr 300... dann zahle ich ein Jahr später 200 ein...
kapital = kapital * Math.pow(1+zins/100, t); // Zinsformel



counter = counter + 1;
System.out.println (kapital);
t = t+1;
}
System.out.println ("Falsche Eingabe");


}
}
[/code]
 

Andreas29

Bekanntes Mitglied
Hi,

Du scheinst mich ein wenig missverstanden zu haben. So wie Du Dein Programm geändert hast, wird es auf jeden Fall "Falsche Eingabe" ausgeben. Und was Du mit "acc" meinst, habe ich noch nicht verstanden. Wenn ich dich richtig verstanden habe, möchtest Du folgendes:
Im ersten Jahr sollen die 300 Euro mit 3,5% verzinst werden, im zweiten Jahr 500 Euro (300 + 200), im dritten Jahr 600 (300 + 200 + 100), im vierten Jahr 900 (300 + 200 + 100 + 300) und im fünften Jahr 1100 (300 + 200 + 100 + 300 + 200), richtig? Und am Ende soll er ausgeben, wie viel Kapital sich nach fünf Jahren ergibt, auch richtig? Wenn dem so ist, solltest du vor der Berechnung der Zinsen das Kapital aufaddieren. Ich möchte Dir jetzt nicht die ganze Arbeit abnehmen, schließlich lernst du mehr, wenn du selbst die Lösung findest. Aber so viel will ich Dir verraten. der Fehler liegt (meiner bescheidenen Meinung nach) in Zeile 12. Weiterhin ist in Zeile 9 noch ein Fehler.
Warum potenzierst Du in deiner Zinsformel?
Zitat aus den Javadoc für die Funktion Math.pow:
Returns the value of the first argument raised to the power of the second argument.
Sprich, bei Math.pow(x, y) wird x hoxh y gerechnet, das habe ich so noch in keiner Zinsformel gesehen... :)

Liebe Grüße und einen wunderschönen Sonntag,
Andreas
 
U

Unregistriert

Gast
Das die Formel funktioniert weiß ich durch dieses Programm.

Eben und genau diese Zeile 12 will ich so hinbekommen, dass dieses Programm läuft :)

Ich will, dass diese args mehr werden :)

Und dazu brauch ich ne Hilfe.


Java:
class Zinsbeta
{       
 
    public static void main(String[] args)
    {
        
        double zinsSatz = Double.parseDouble(args[0]); //Zinssatz
        int jahre = Integer.parseInt(args[1]);  //Laufzeit
        double kapital = Double.parseDouble(args[2])
        int i = 0;
        while (i <= jahre)
        {
            kapital = kapital * Math.pow(1+zinsSatz/100, i);    
            // Aufzinsungsformel , Exponent
                                                                
                System.out.println("Nach " + i + "Jahren: " + kapital);
                i = i + 1;
                
        }
        
        System.out.println("Endsumme: " + kapital);
        
    }
 
}
 

Andreas29

Bekanntes Mitglied
Hi,

danke faetzminatorm wieder etwas gelernt. Das wusste ich noch nicht, ich kannte nur die allgemeine Zinsformel und dachte, frag mal nach. Übrigens hast du sie korrekt wiedergegeben.

Zum Threadstarter:
Wie ich schon sagte, du musste das Kapital aufsummieren, wenn ich dein Problem richtig verstehe. Und jetzt überleg mal, du willst aufsummieren, also plus rechnen. Sprich, du musst das Plus-Zeichen so in deiner Code-Zeile unterbringen, dass der Wert der Variable Kapital nach der Berechnung gleich Kapital plus nächstes Argument ist (damit habe ich dir die Lösung schon verbal hingeschrieben). Und wie ich schon geschrieben habe, in der Zeile mit dem while ist auch noch ein Fehler, der die Ausführung der ganzen Berechnung blockiert.

Grüße,
Andreas
 
U

Unregistriert

Gast
ist so besser? aber meine cmd.exe hängt sich auf
ansonsten keine Ahnung... ich muss wohl die Logik net verstehen oder so....

den fehler habe ich bei while korrigiert

:(


Java:
class Zinsrechner
{
    public static void main (String [] args)
    {
        int jahre = Integer.parseInt (args [0]);        //Laufzeit
        double zins = Double.parseDouble (args [1]);        //Zinssatz
        double counter = 0;
        int t=0;
		double endkapital = 0;
        while(counter <= jahre);
            {
               
                double kapital = endkapital + Double.parseDouble (args [2+t]);  // Kapital, dass er sich holt also im ersten Jahr 300... dann zahle ich ein Jahr später 200 ein...           
                endkapital = kapital * Math.pow(1+zins/100, t);   // Zinsformel
                    
                
 
                counter = counter + 1;  
                System.out.println (endkapital);
                t=t+1;
           }
          
        
        
    }
}
 

Andreas29

Bekanntes Mitglied
Hi,

du kommst ihm näher. Schau dir nochmal deine while-Schleife an, dann weißt du, warum die cmd sich aufhängt (Stichwort letztes Zeichen).

Grüße,
Andreas
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
S Möglichkeit, mit g.draw etwas vor ein JTextfield zu „zeichnen“? Java Basics - Anfänger-Themen 7
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
schemil053 Multithread - Input verrutscht während etwas ausgegeben wird Java Basics - Anfänger-Themen 6
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
Y Wie kann man überprüfen, ob bei einem Print Befehl tatsächlich etwas geprintet wurde? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
A Haben KNNs ein Gedächtnis, lernen etwas oder verändern sich, während sie nicht trainieren, aber aktiv sind? Java Basics - Anfänger-Themen 3
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
D Etwas unsicher wie es weitergehen soll Java Basics - Anfänger-Themen 2
I In der Mitte eines Frames mit BorderLayout etwas malen Java Basics - Anfänger-Themen 7
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
A Ich habe das Gefühl etwas grundlegendes falsch zu machen Java Basics - Anfänger-Themen 6
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
T Erste Schritte Textfeld abfragen ob etwas enthalten ist. Java Basics - Anfänger-Themen 17
O Etwas auf der Konsole ausgeben, usw. Java Basics - Anfänger-Themen 22
J Input/Output Scanner Input als etwas einsetzen Java Basics - Anfänger-Themen 3
DaCrazyJavaExpert Input/Output Prüfen wie oft etwas eingegeben wurde Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Gibt meiner Meinung etwas falsches aus. Java Basics - Anfänger-Themen 7
JavaNewbie2.0 Habe ein frage wie man etwas macht. Java Basics - Anfänger-Themen 13
O Klassen etwas Bruchrechnern Java Basics - Anfänger-Themen 5
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
M Variablen Eine etwas andere if Abfrage ! Java Basics - Anfänger-Themen 10
D Etwas speichern Java Basics - Anfänger-Themen 5
L Gibt es etwas wie "HashMap <String, String, String> Java Basics - Anfänger-Themen 9
J Etwas dauerhaft überprüfen, wie ? Java Basics - Anfänger-Themen 8
A scan.nextLine() - Wenn man zu lange nichts macht, soll etwas passieren Java Basics - Anfänger-Themen 3
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
S Komponente sagen, sie soll etwas tun Java Basics - Anfänger-Themen 3
J Für 3 Sekunden etwas bestimmtes zeichnen Java Basics - Anfänger-Themen 8
H Etwas wie sort() / sorted() in JAVA-Collections? Java Basics - Anfänger-Themen 5
S 0 wird negativ, wenn sie mit etwas negativen multipliziert wird. Warum? Java Basics - Anfänger-Themen 4
G gegen (etwas) programmieren Java Basics - Anfänger-Themen 11
Binary.Coder Vor und nach jeder Codezeile etwas einfügen Java Basics - Anfänger-Themen 3
A Wie kann man etwas von Typ Image wieder löschen? Java Basics - Anfänger-Themen 7
G vor String etwas anhängen Java Basics - Anfänger-Themen 2
D Attributen und Methoden, etwas vergessen? Java Basics - Anfänger-Themen 6
T TCP, Empfang nur wenn wirklich etwas kommt Java Basics - Anfänger-Themen 6
F Etwas bestimmtes löschen Java Basics - Anfänger-Themen 13
N prüfe ob etwas in einer Matrix steht... Java Basics - Anfänger-Themen 14
S etwas schierige Ausgabe mit Systemout Java Basics - Anfänger-Themen 5
G Methode, die etwas hochzählt Java Basics - Anfänger-Themen 6
T Etwas an paint()-Methode übergeben? Java Basics - Anfänger-Themen 6
T RandomAccessFile - Wie schreibe ich etwas in eine txt Datei? Java Basics - Anfänger-Themen 5
G etwas is falsch? Java Basics - Anfänger-Themen 10
S Compile zu etwas Ausführbarem Java Basics - Anfänger-Themen 4
X Wie save ich etwas? Java Basics - Anfänger-Themen 6
R etwas andere for schleife Java Basics - Anfänger-Themen 2
G die etwas andere suche! Java Basics - Anfänger-Themen 22
M Über einen Button etwas zeichnen lassen Java Basics - Anfänger-Themen 5
L URL aufrufen und per get etwas übergeben Java Basics - Anfänger-Themen 6
K Einer Methode etwas zuweisen Java Basics - Anfänger-Themen 22
N aus einer file etwas auslesen. Java Basics - Anfänger-Themen 2
T Aus Klasse "B" in Klasse "A" etwas tun? Java Basics - Anfänger-Themen 8
G Programme etwas machen lassen. Java Basics - Anfänger-Themen 4
B Etwas in der konsole ausgeben ? Java Basics - Anfänger-Themen 7
G Programm soll nach bestimmter Zeit etwas tun Java Basics - Anfänger-Themen 24
B KeyListener (etwas bewegen) Java Basics - Anfänger-Themen 10
P Textdateischreiben, etwas fehlt noch bzw. 1 error kommt Java Basics - Anfänger-Themen 4
H in Textdateien etwas schreiben bzw. speichern Java Basics - Anfänger-Themen 2
D In String etwas einfügen. Java Basics - Anfänger-Themen 2
B Irgend etwas ist merkwürdig! brauche hilfe Java Basics - Anfänger-Themen 16
D Mein kleines Programm etwas schöner machen :-) Java Basics - Anfänger-Themen 13
G Gibt es so etwas wie eine Textfeldgruppe? Java Basics - Anfänger-Themen 2
R Dem Textfeld einer Internetseite etwas übergeben Java Basics - Anfänger-Themen 6
A Array aufaddieren ! Java Basics - Anfänger-Themen 5
E Aufaddieren eines INT für Rechnungsnummer Java Basics - Anfänger-Themen 4
G ResultSets aufaddieren Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben