Moin Leute,
ich habe mich an eine schon lange von mir gehasste Aufgabe gesetzt. Es geht um eine degressive Abschreibung von z.B. einem Roller.
Ich habe die Aufgabe vor längerer Zeit bereits geschrieben aber das ganze in einer Klasse, unterteilt in Methoden. Dort lief die Rechnung, sowie Ausgabe perfekt durch.
nun will ich das ganze aber in verschiedene Klassen aufteilen und habe Probleme mit der Ausgabe meiner Rechnung.
Hier die Testklasse.
Und hier die Klasse in der die Methoden der Rechnung und Ausgabe stehen sollen.
Die Ausgabe der Methode inves1.print1(); aus einer anderen Klasse in der Testklasse funktioniert z.B. Allerdings bekomme ich es nicht hin mir die Ausgabe des Arrays in der Testklasse anzeigen zu lassen. Die Rechnung und der Aufbau der Ausgabe stimmen aber ich habe bei der Umwandlung in Klassen wohl noch irgendwo ein Fehler gemacht? Diesen finde bzw. verstehe ich einfach nicht
ich habe mich an eine schon lange von mir gehasste Aufgabe gesetzt. Es geht um eine degressive Abschreibung von z.B. einem Roller.
Ich habe die Aufgabe vor längerer Zeit bereits geschrieben aber das ganze in einer Klasse, unterteilt in Methoden. Dort lief die Rechnung, sowie Ausgabe perfekt durch.
nun will ich das ganze aber in verschiedene Klassen aufteilen und habe Probleme mit der Ausgabe meiner Rechnung.
Hier die Testklasse.
Java:
import java.util.Scanner;
public class testKlasse {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
System.out.print("Bitte geben Sie den Hersteller des Rollers an: ");
String hersteller = sc.next();
System.out.print("Bitte geben Sie das Modell ihres Rollers an: ");
String modell = sc.next();
System.out.print("Bitte geben Sie den Anschaffungswert ihres Rollers an: ");
double a0 = sc.nextDouble();
System.out.print("Bitte geben Sie die Nutzungsdauer ihrer Abschreibung an: ");
int laufzeit = sc.nextInt();
System.out.print("Bitte geben Sie den Restwert ihrer Abschreibung an: ");
double restwert = sc.nextDouble();
Abschreibungsplan abschr1 = new Abschreibungsplan(a0,laufzeit,restwert);
Investitionsprojekt inves1 = new Investitionsprojekt(hersteller, modell, abschr1);
inves1.print1();
}
}
Und hier die Klasse in der die Methoden der Rechnung und Ausgabe stehen sollen.
Java:
public class Rechnung {
private double a0;
private int laufzeit;
private double restwert;
public Rechnung(double a0, int laufzeit, double restwert) {
super();
this.a0 = a0;
this.laufzeit = laufzeit;
this.restwert = restwert;
}
public double getA0() {
return a0;
}
public void setA0(double a0) {
this.a0 = a0;
}
public int getLaufzeit() {
return laufzeit;
}
public void setLaufzeit(int laufzeit) {
this.laufzeit = laufzeit;
}
public double getRestwert() {
return restwert;
}
public void setRestwert(double restwert) {
this.restwert = restwert;
}
static double[][] degressiveAbschreibung (double laufzeit, double a0, double restwert) {
double[][] arraytabelle = new double [(int) laufzeit][4];
double neueLaufzeit = laufzeit;
double zahl1;
double zahl2;
double abschreibungsprozentsatz1 ;
double abschreibungsprozentsatz2 ;
zahl2= 1/neueLaufzeit;
zahl1 =restwert/a0;
abschreibungsprozentsatz1 = Math.pow(zahl1,zahl2);
abschreibungsprozentsatz2 = 1-abschreibungsprozentsatz1;
double afabetrag;
for (int jahre=1;jahre<=laufzeit; jahre++) {
arraytabelle[jahre-1][0] = Math.round(jahre);
arraytabelle[jahre-1][1] = Math.round(a0);
arraytabelle[jahre-1][2] = Math.round(afabetrag= a0 * abschreibungsprozentsatz2) ;
arraytabelle[jahre-1][3] = Math.round(a0-afabetrag);
a0 = a0-afabetrag;
}
return arraytabelle;
}
static void ausgabe (double arraytabelle[][]) {
System.out.println("Periode\t\tBuchwert 1.1.\tAbschreibung\tEBuchwert 31.12.");
for (int zeile=0; zeile<arraytabelle.length; zeile++) {
for (int spalte=0; spalte<arraytabelle[zeile].length; spalte++) {
System.out.print(arraytabelle[zeile][spalte]+"\t\t");
}
System.out.println("");
}
}
}
Die Ausgabe der Methode inves1.print1(); aus einer anderen Klasse in der Testklasse funktioniert z.B. Allerdings bekomme ich es nicht hin mir die Ausgabe des Arrays in der Testklasse anzeigen zu lassen. Die Rechnung und der Aufbau der Ausgabe stimmen aber ich habe bei der Umwandlung in Klassen wohl noch irgendwo ein Fehler gemacht? Diesen finde bzw. verstehe ich einfach nicht
Zuletzt bearbeitet von einem Moderator: