Berechnung einer linearen Abschreibung

F

Funkenmarie

Gast
Hallo ihr Lieben,

ich habe kürzlich angefangen Java zu programmieren. Nun dacht ich mir "Versuch doch mal ein paar Berechnungen und schaue mal ob die so hinbekommst" Mein Gedanke war also mein Programm die Berechnung für eine lineare Abschreibung ausgeben zu lassen.

Aussehen soll das so:

Jahr Anschaffungswert Abschreibung Restwert
2009 10.000,- 2000,- 8000,-
2010 8000,- 2000,- 6000,-
...
usw.

ich habe schon viel ausprobiert und momentan bin ich bei folgendem Code:

Java:
public class Abschreibung
{
    public void main (String[]args)
    {

        float anschaffungswert = 0.0f;
        float nutzungsdauer = 0.0f;
        float restwert = 0.0f;
        float abschreibung = 0.0f;
        Eingabe tastatur = new Eingabe ();

            System.out.println (" ");
            System.out.println ("Lineare Abschreibung");
            System.out.println (" ");
            System.out.print ("Bitte geben sie den Anschaffungswert ein:"+" ");
            anschaffungswert = tastatur.liesFloat ();
            System.out.println (" ");
            System.out.println ("Wie lange soll die Nutzungsdauer sein?");
            nutzungsdauer = tastatur.liesFloat ();
              abschreibung = anschaffungswert/nutzungsdauer;
              restwert = anschaffungswert-abschreibung;
                  do
                  {
                  nutzungsdauer --;
                  System.out.println ("Anschaffungsjahr\t\t\t\t" +"Anschaffungskosten\t\t\t"+"Restwert\t\t\t");
                  System.out.println ("\t\t"+nutzungsdauer+"\t\t"+"\t\t"+anschaffungswert+"\t\t\t\t"+restwert);
                  }
                       while (nutzungsdauer>= 0);


    }
}

Könnt ihr mir sagen was ich hier falsch mach?
Hab versucht eine Return - funktion einbauen um den Restwert wie im oberen Beispiel als neuen Anschaffungswert zu "übernehmen", sowie try/catch (wo ich mir relativ sicher war das es nicht geht) =>funktioniert nicht.....und langsam bin ich echt gereizt, weil mich das schon Stunden gekostet hat
 
S

SlaterB

Gast
du musst mit dem Kopf denken,


auf Tastatureingaben verzichte vorerst, später gut, aber du willst doch nicht bei jedem Testlauf etwas eintippen,
hier im Forum stört es auch, setze die Variablen von Anfang an
> float anschaffungswert = 10000.0f;
usw.

eine Schleife ist schon guter Anfang, die Zeile mit den Spaltenüberschriften willst du aber sicher nicht jedes Mal ausgeben,
kommt 1x VOR die Schleife, einfach zu denken, oder?

die andere Ausgabe mag gut sein, aber sie gibt immer nur dasselbe aus?
du senkst allein die Variable 'nutzungsdauer', welche du auch ausgibst, ich frage mich was das von

> Jahr Anschaffungswert Abschreibung Restwert
> 2009 10.000,- 2000,- 8000,-
> 2010 8000,- 2000,- 6000,-

sein soll, da sinkt nichts zum 1 pro Zeile..,
aber ist ja auch so schon gut, Zwischenwerte erstmal auszugeben, später schöner,

das Kardinalproblem jedenfalls: nichts anderes wird berechnet!
irgendwo braucht es doch eine Variable, die Anfangs 10.000 enthält, und vor der jeweils 2000 abgezogen werden usw.,
verwende die vorhandenen Variablen, führe neue ein, was auch immer

-----

es geht genau so wie ein Papier vollzuschreiben:
> Jahr Anschaffungswert Abschreibung Restwert
> 2009 10.000,- 2000,- 8000,-
> ?
was machst du an dieser Stelle in der neuen Zeile? 2010 hinschreiben,
und dahinter? da kommt die 8000, denn 10.000 minus 2000 ergibt 8000 usw.
kann jedes Kind

was ist an solchen Gedanken schwer, wo hapert die Umsetzung in Code?

-------
wenn du grundsätzlich nichts von Variablen usw. verstehst,
dann immer auch überlegenswert, von komplizierten Programmen wenigstens zu etwas einfacheren übersichtlichen Programmen zu wechseln:

schreibe ein Programm welches mit einer Variablen int x = 12; beginnt
und per (while-)Schleife
12,
11,
10,
..
untereinander ausgibt

ist das ein lösbares Problem?
 
Zuletzt bearbeitet von einem Moderator:
F

Funkenmarie

Gast
eine Schleife ist schon guter Anfang, die Zeile mit den Spaltenüberschriften willst du aber sicher nicht jedes Mal ausgeben,
kommt 1x VOR die Schleife, einfach zu denken, oder?

Jawoll. Da seh ich eigentlich auch noch nicht das Problem. Hab ich wohl einfach nur verschusselt. Wobei mich wundert, das er dann bei genau diesem Code trotzdem immer nur ein mal die Überschrift ausgibt?

was machst du an dieser Stelle in der neuen Zeile? 2010 hinschreiben,
und dahinter? da kommt die 8000, denn 10.000 minus 2000 ergibt 8000 usw.
kann jedes Kind

was ist an solchen Gedanken schwer, wo hapert die Umsetzung in Code?

An dem Gedanken ist gar nix schwer. Ich hab die Rechnungsweise ja ohne weiteres begriffen.
An der Umsetzung hapert es. Ich hab mich glaube etwas missverständlich ausgedrückt:
Den Restwert für meine in 2009 neu gekaufte Maschine mit einem Anschaffungswert von 10.000 € macht er noch ganz easy. Die Formel um den Restwert zu berechnen bleibt ja auch über die ganzen (von mir als User eingegebenen) 5 Jahre die ich abschreiben kann dieselbe.
Jetzt der Knackpunkt:
Das Programm soll einfach nur den Restwert aus 2009 nehmen, und ihn als Anschaffungswert für 2010 setzen, den Restwert berechnen ..... und das ganze eben 5 mal.
Und genau an dem Punkt wo er mir den Wert übernehmen soll, hakt es.
 

Spewer

Aktives Mitglied
Java:
public static void main(String[] args)
    {
	float anschaffungswert = 0.0f;
	float nutzungsdauer = 0.0f;
	float restwert = 0.0f;
	float abschreibung = 0.0f;

	Scanner sc = new Scanner(System.in);

	System.out.println("Lineare Abschreibung\n");
	System.out.print("Bitte geben sie den Anschaffungswert ein:\n");

	anschaffungswert = sc.nextFloat();

	System.out.println("Bitte geben sie die Nutzungsdauer ein:\n");

	nutzungsdauer = sc.nextFloat();

	abschreibung = anschaffungswert / nutzungsdauer;
	System.out.println("Nutzungsjahr \t Restwert");
	while (anschaffungswert >= 0)
	{
	    anschaffungswert = anschaffungswert - abschreibung;
	    nutzungsdauer--;
	    System.out.println(nutzungsdauer + "\t\t " + anschaffungswert);
	}

    }

So würde es gehen. Bisschen anders formatieren in der Ausgabe und gut is.

[EDIT]Edit: Kleiner Tipp von mir, ich finde die Debug Option in Eclipse eignet sich hervorragend um nachzuvollziehen, wie eine Schleife funktioniert, bzw. wie der Code verarbeitet wird.[/EDIT]
 
Zuletzt bearbeitet:
S

SlaterB

Gast
mit dem fertigen Code erübrigt sich weiteres,
ich kann nur ermahnen, genau rückzublicken, worin die Blockade bestand,

jede Schleife muss rechnen, also Rechen-Code hinschreiben, welche Variablen usw. das ergibt sich, einfach manches ausprobieren
 
F

Funkenmarie

Gast
Danke an euch beide. Somit ist meine Frage erledigt.

Ich werd Spewers Code versuchen nachzuvollziehen wie SlaterB es geraten hat. Eventuell erübriggen sich dann auch einige meiner zukünftigen Fragen! :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Berechnung zu einer Schleife formen Java Basics - Anfänger-Themen 6
P Schleife zur Berechnung von einer Summe Java Basics - Anfänger-Themen 16
C Programm zur Berechnung der Spur einer Matrix Java Basics - Anfänger-Themen 4
T Iterative Berechnung einer Satellitenbahn Java Basics - Anfänger-Themen 20
N Algorithmus für Berechnung einer Quersumme Java Basics - Anfänger-Themen 9
Y Ergebnis einer Berechnung an die Main Methode übergeben Java Basics - Anfänger-Themen 11
D einfach berechnung einer onlinezeit Java Basics - Anfänger-Themen 25
G Berechnung einer Zeitspanne Java Basics - Anfänger-Themen 3
M Eibettung einer Variablen in eine Berechnung Java Basics - Anfänger-Themen 5
I File Uploader... Statusanzeige, Berechnung des Status etc. Java Basics - Anfänger-Themen 0
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
Jamie logische Verknüpfung zur Schaltjahr-Berechnung Java Basics - Anfänger-Themen 30
Stephan_kl Reihenwert-Berechnung, Ergebnis mit vorherigem Ergebnis vergleichen Java Basics - Anfänger-Themen 11
Abraham42 Berechnung der Kühlung Java Java Basics - Anfänger-Themen 12
S Hashcode-Berechnung + ^ Java Basics - Anfänger-Themen 2
J Median-Berechnung von 2D-Teilarrays Java Basics - Anfänger-Themen 56
F Tabelle - Berechnung Rang Java Basics - Anfänger-Themen 2
B Berechnung der Position von Kinderelemente von einem Elternknoten Java Basics - Anfänger-Themen 23
S Berechnung der sleep time ist falsch Java Basics - Anfänger-Themen 46
S Switch-Case zur Berechnung der Einkommensteuer Java Basics - Anfänger-Themen 15
F Berechnung der Rektaszension und Deklination eines Sterns Java Basics - Anfänger-Themen 7
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
V Erste Schritte Pi Berechnung Java Basics - Anfänger-Themen 47
M Berechnung der Reststrecke bei Graphen Java Basics - Anfänger-Themen 1
V Algorithmus zur fortlaufenden Berechnung des duechscjnt Java Basics - Anfänger-Themen 1
B Berechnung Median mit Methode Java Basics - Anfänger-Themen 7
CptK Methoden Berechnung von Anfangsgeschwindigkeit und Winkel Java Basics - Anfänger-Themen 27
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
S Erste Schritte Berechnung des Paketportos - Problem/Frage Java Basics - Anfänger-Themen 52
J Gleitkommazahlen, Berechnung von pi Java Basics - Anfänger-Themen 4
J Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
kilopack15 Verzweiflung wegen Berechnung mit Multithreading Java Basics - Anfänger-Themen 1
A Die Werte zur Berechnung müssen als Parameter übergeben werden? Java Basics - Anfänger-Themen 7
Salo Berechnung von Winkeln Java Basics - Anfänger-Themen 28
M Restbuchwert Berechnung geht nicht Java Basics - Anfänger-Themen 45
Ghostman1711 Pi berechnung Methode aufrufen Java Basics - Anfänger-Themen 2
L Rekursive Methode zur Berechnung der Potenz q hoch p Java Basics - Anfänger-Themen 17
beatles Operatoren Operatoren - Berechnung Java Basics - Anfänger-Themen 40
K Best Practice Algorithmus für Berechnung von Zahlenreihenfolge Java Basics - Anfänger-Themen 12
N Verzögerte Berechnung "Lazy" Java Basics - Anfänger-Themen 8
J Erste Schritte Rundungsproblem - Berechnung Notendurchschnitt Java Basics - Anfänger-Themen 13
S Variablen Vektor zur Berechnung verwenden Java Basics - Anfänger-Themen 4
T Java double berechnung fehler Java Basics - Anfänger-Themen 2
M Berechnung in Java Java Basics - Anfänger-Themen 4
S Berechnung der Arbeitstage in einem Zeitraum Java Basics - Anfänger-Themen 9
E Problem bei rekursiver Berechnung des Binomialkoeffizienten Java Basics - Anfänger-Themen 5
T Iterative Pi Berechnung in Rekursive Java Basics - Anfänger-Themen 2
S Double, int, Berechnung Java Basics - Anfänger-Themen 3
C Nach Berechnung runden und Wert ausgeben Java Basics - Anfänger-Themen 7
E Berechnung für Shop einbinden Java Basics - Anfänger-Themen 8
S Klassen Formel zur Berechnung .... Bitte um Hilfe Java Basics - Anfänger-Themen 7
S Euklid Algorithmus zur Berechnung des GGTs Java Basics - Anfänger-Themen 2
OnDemand Berechnung in die start und paint Methode eines Applets Java Basics - Anfänger-Themen 28
E Berechnung von Punkten Java Basics - Anfänger-Themen 4
D Berechnung des Abstandes von zwei Punkten in einem Koordinatensystem Java Basics - Anfänger-Themen 14
A Methoden PI-Berechnung Java Basics - Anfänger-Themen 22
S Erste Schritte Berechnung mit Daten aus CSV und Date Objekt Java Basics - Anfänger-Themen 2
P Pythagoras Baum - Berechnung der Punkte Java Basics - Anfänger-Themen 9
A Erste Schritte Steuer Berechnung, Alters Abhängig Java Basics - Anfänger-Themen 5
T Erste Schritte Berechnung von gerade und ungerade Zahlen Java Basics - Anfänger-Themen 10
J Erste Schritte Berechnung Ratten vermehrung Java Basics - Anfänger-Themen 4
P falsches ergebnis bei einfacher berechnung Java Basics - Anfänger-Themen 3
M Java Berechnung mit mehreren Lösungen? Java Basics - Anfänger-Themen 9
D Nullstellen-Berechnung Java Basics - Anfänger-Themen 10
L Fehlermeldung bei falscher Berechnung anzeigen Java Basics - Anfänger-Themen 31
A berechnung multiplikatives inverses Java Basics - Anfänger-Themen 5
J Berechnung des aktuellen Alters auf Basis des Geburtstags Java Basics - Anfänger-Themen 45
J Datentypen Fehler bei Berechnung mit Double und Int-Werten Java Basics - Anfänger-Themen 22
G Berechnung von Winkeln mit Cosinussatz Java Basics - Anfänger-Themen 2
B Arrays verwenden für Berechnung Java Basics - Anfänger-Themen 3
R Merkwürdige Modulo Berechnung Java Basics - Anfänger-Themen 7
B Hausaufgabe Berechnung quadratischer Funktion Java Basics - Anfänger-Themen 16
U Alter Berechnung + sortierung Java Basics - Anfänger-Themen 6
P Berechnung wird nicht durchgeführt Java Basics - Anfänger-Themen 2
D Berechnung von Ostern und Ramadan! Java Basics - Anfänger-Themen 24
D Berechnung von Geldausgabe Java Basics - Anfänger-Themen 22
F Berechnung von Kugeln! Java Basics - Anfänger-Themen 9
M rekursive Funktion zur Berechnung der Spiegelzahl Java Basics - Anfänger-Themen 7
S Hausaufgabe: Java-Programm schreiben zur Berechnung von x und y Java Basics - Anfänger-Themen 9
Semox Ersten Wert eines Intervalls bei Berechnung einschließen Java Basics - Anfänger-Themen 8
J Logarithmische Berechnung und Arrays Java Basics - Anfänger-Themen 2
B LinkedList - Berechnung des Produkts Java Basics - Anfänger-Themen 6
B Berechnung von Preisen per Java-Programm Java Basics - Anfänger-Themen 27
M Alters berechnung aus Geburtsjahr aus dem Buch Java Basics - Anfänger-Themen 5
O Fehler in der String-Distanz-Berechnung Java Basics - Anfänger-Themen 5
-horn- "Berechnung vorwärts, Optimierung rückwärts?" - Wie würdet ihr das machen? Java Basics - Anfänger-Themen 8
P iterative Berechnung Java Basics - Anfänger-Themen 9
1 Berechnung von PI mithilfe von Buffons Nadelproblem Java Basics - Anfänger-Themen 2
G Berechnung zwei Komplexen Zahlen Java Basics - Anfänger-Themen 34
N Rekursive Berechnung der Höhe eines binären Baumes Java Basics - Anfänger-Themen 4
J Programm für interaktive Berechnung von Temperaturverläufen Java Basics - Anfänger-Themen 9
K Annährende ganzzahlige Berechnung der Wurzel Java Basics - Anfänger-Themen 8
L Berechnung von Perioden Java Basics - Anfänger-Themen 4
S Euklid Klasse mit Methoden zur Berechnung des ggT Java Basics - Anfänger-Themen 23
G Frage zur Primzahlen berechnung Java Basics - Anfänger-Themen 11
G Berechnung von N-Tageslinien von Aktienkursen Java Basics - Anfänger-Themen 13
G Rekursive Berechnung von n über k schlägt fehl Java Basics - Anfänger-Themen 5
G Einfache Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
W Schaltjahr Berechnung Java Basics - Anfänger-Themen 24
A Probleme mit Programm zur Pi-Berechnung Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben