ich soll einen Abschreibungstabelle erstellen mit einem 20 Platz Array. Nun habe ich ein Programm geschrieben und mich gefreut, dass es halbwegs funzt. Am Schluss merkte ich, dass ich das Array nicht verwendet habe !!!??? Kann mir einer Tipp geben.
Java:
importjava.io.*;class abschreibung
{publicstaticvoid main (String[] args)throwsIOException{double[] restbuchwert =newdouble[20];// Array mit 20 PlatzenBufferedReader stdin =newBufferedReader(newInputStreamReader(System.in));String input;int wert;System.out.println("Wieviel hat es gekostet?");
input = stdin.readLine();
wert =Integer.parseInt( input );int afadauer;System.out.println("Wie lange ist die Nutzungsdauer");
input = stdin.readLine();
afadauer =Integer.parseInt( input );String bezeichnung;//Bezeichnung der AnlageSystem.out.println("Was haben Sie angeschafft?");
bezeichnung = stdin.readLine();System.out.println("");System.out.println("Abschreibungsverlauf: "+ bezeichnung );System.out.println("---------------------------------------------------------------------------");for(int a=restbuchwert.length, b=wert/afadauer, c=1, d=wert; c<21; c++){System.out.println( a +". Jahr Afawert "+ b +" Restbuchwert "+(d=d-b));System.out.println("");}}}
[EDIT]Hoppla, verlesen. Das weißt du ja schon.
Wofür willst du denn das Array verwenden? Wenn du die Ergebnisse speichern willst, kannst du ja a oder b hineinschreiben.[/EDIT]
Ich soll es glaub ich nur mit 20 Plätzen belegen, ich habe jetzt folgendes gemacht:
Java:
mport java.io.*;class abschreibung
{publicstaticvoid main (String[] args)throwsIOException{double[] restbuchwert =newdouble[20];// Array mit 20 PlatzenBufferedReader stdin =newBufferedReader(newInputStreamReader(System.in));String input;int wert;System.out.println("Wieviel hat es gekostet?");
input = stdin.readLine();
wert =Integer.parseInt( input );int afadauer;System.out.println("Wie lange ist die Nutzungsdauer");
input = stdin.readLine();
afadauer =Integer.parseInt( input );String bezeichnung;//Bezeichnung der AnlageSystem.out.println("Was haben Sie angeschafft?");
bezeichnung = stdin.readLine();System.out.println("");System.out.println("Abschreibungsverlauf: "+ bezeichnung );System.out.println("---------------------------------------------------------------------------");for(int a=1, b=wert/afadauer, d=wert; a < restbuchwert.length+1;a++){System.out.println( a +". Jahr Afawert "+ b +" Restbuchwert "+(d=d-b));System.out.println("");if(d ==0)System.out.println("Vollabschreibung");}}}
Das Array muss die Zeit als Länge haben, dadurch kontrollierst du ja die Schleife:
Java:
importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;class abschreibung {publicstaticvoid main (String[] args)throwsIOException{BufferedReader stdin =newBufferedReader(newInputStreamReader(System.in));String input;int wert;System.out.println("Wieviel hat es gekostet?");
input = stdin.readLine();
wert =Integer.parseInt( input );int afadauer;System.out.println("Wie lange ist die Nutzungsdauer");
input = stdin.readLine();
afadauer =Integer.parseInt( input );int[] restbuchwert =newint[afadauer];String bezeichnung;//Bezeichnung der AnlageSystem.out.println("Was haben Sie angeschafft?");
bezeichnung = stdin.readLine();System.out.println("");System.out.println("Abschreibungsverlauf: "+ bezeichnung );System.out.println("---------------------------------------------------------------------------");for(int a =0, b = wert / afadauer, d = wert; a < restbuchwert.length; a++){
d-= b;
restbuchwert[a]= d;//Weiß nicht, ob das so verlangt wirdSystem.out.println((a +1)+". Jahr Afawert "+ b +" Restbuchwert "+(d));System.out.println("");if(d ==0){System.out.println("Vollabschreibung");}}}}
Wieviel hat es gekostet?
20000
Wie lange ist die Nutzungsdauer
10
Was haben Sie angeschafft?
Abschreibungsverlauf:
---------------------------------------------------------------------------
1. Jahr Afawert 2000 Restbuchwert 18000
2. Jahr Afawert 2000 Restbuchwert 16000
3. Jahr Afawert 2000 Restbuchwert 14000
4. Jahr Afawert 2000 Restbuchwert 12000
5. Jahr Afawert 2000 Restbuchwert 10000
6. Jahr Afawert 2000 Restbuchwert 8000
7. Jahr Afawert 2000 Restbuchwert 6000
8. Jahr Afawert 2000 Restbuchwert 4000
9. Jahr Afawert 2000 Restbuchwert 2000
10. Jahr Afawert 2000 Restbuchwert 0
Vollabschreibung