Vererbung

Status
Nicht offen für weitere Antworten.

Borsti

Mitglied
Hallo,

ich bin noch ein Anfänger im Programmieren und stehe nun vor einem Preblem bei dem ich einfach nicht weiter komme.

Ich habe zwei Klassen in der einen wird ein Fenster (Frame) geöffnet und in der anderen habe ich eine Berechnung am laufen die dann per klick auf einem Button ausgeführt wird und per erray in eine TextArea eingefügt wird.


Auszug aus der Fenster Klasse
Code:
	public void actionPerformed(ActionEvent e)
	{
		
		
	int Laufzeit = Integer.parseInt(FeldLaufzeit.getText());
	double Kredit = Double.parseDouble(FeldKredit.getText());
	double Zinssatz = Double.parseDouble(FeldZinssatz.getText());
	
	ratentilgung t = new ratentilgung(Kredit, Zinssatz, Laufzeit);
	
		
		
	for(int Jahr= 1; Jahr <= Laufzeit; Jahr++ ) 
    { 
	Erg.append(t.inhalt[Jahr] + "\n");
	}

Auszug aus der Berechnungsklasse
Code:
import java.util.*;
 import java.text.DecimalFormat; 
  
 class ratentilgung { 
 
       String inhalt[] = new String[Laufzeit+1];
       String ginhalt[] = new String[2];
   
    
     public ratentilgung(double Kredit, double Zinssatz, int Laufzeit){
             
     double Tilgungsrate, Restschuld, Zinsbetrag, GZinsbetrag, Annuitaet, GAnnuitaet;

Mein Problem ist jetzt das ich in der Fenster Klasse den Array definiere. und dieser die Anzahl der Stellen haben soll von der Laufzeit und diese ist Variabel. Die daten von Laufzeit werden ja in dieser Zeile übergeben an die Berechnungsklasse:

public ratentilgung(double Kredit, double Zinssatz, int Laufzeit){

Doch den String muss ich schon darüber definieren aber da gibts die Variable Laufzeit ja noch nicht.
Ich kann die Positionen aber nicht ändern weil es dann zu einer Fehlermeldung kommt. Er findet zum Beispiel wenn ich den String unten erst definiere in der Fenster klasse den String nicht.

Was mache ich falsch?
Benötige schnelle Hilfe. Danke
 

Borsti

Mitglied
Hier noch mal die kompletten klassen. (auf Chat anfrage hin)

Code:
public class Main
{
	public static void main(String [] args)
	{
		ValueCheck mf = new ValueCheck();
		mf.setSize(1000,1000);
		mf.setVisible(true);
	}
}

Code:
import java.awt.*;
import java.awt.event.*;

import java.util.*;
import java.text.DecimalFormat;

public class ValueCheck extends Frame implements ActionListener
{
	private TextField FeldKredit, FeldLaufzeit, FeldZinssatz;
	private Button btnCheck;
	private TextArea Erg;
	
	public ValueCheck()
	{
		init();
	}
		
	public void init()
	{
		setTitle("ValueCheck");
		
		GridBagLayout grid = new GridBagLayout();
		GridBagConstraints constr = new GridBagConstraints();
		setLayout(grid);
		
		// hier benutzen wir ein 'lokales Label' (d.h. wird nicht oben deklariert)
		// Vorteil: weniger Code, evtl. einfacher
		// Nachteil: kann später im Programm nicht mehr verändert werden
		constr.gridx = 0;
		constr.gridy = 0;
		this.add(new Label("Kredit: "),constr);
		
		FeldKredit = new TextField(10);
		constr.gridx = 1;
		constr.gridy = 0;
		this.add(FeldKredit,constr);
		
		constr.gridx = 0;
		constr.gridy = 1;
		this.add(new Label("Laufzeit: "),constr);
		
		FeldLaufzeit = new TextField(10);
		constr.gridx = 1;
		constr.gridy = 1;
		this.add(FeldLaufzeit,constr);
		
		constr.gridx = 0;
		constr.gridy = 2;
		this.add(new Label("Zinssatz: "),constr);
		
		FeldZinssatz = new TextField(10);
		constr.gridx = 1;
		constr.gridy = 2;
		this.add(FeldZinssatz,constr);
		
		btnCheck = new Button("Tilgungsplan Anzeigen");
		constr.gridx = 0;
		constr.gridy = 3;
		constr.gridwidth = GridBagConstraints.REMAINDER;
		this.add(btnCheck,constr);
		
		Erg = new TextArea(7,100);
		Erg.setBackground(Color.YELLOW);
		constr.gridx = 0;
		constr.gridy = 4;
		constr.gridwidth = GridBagConstraints.REMAINDER;
		constr.fill = GridBagConstraints.HORIZONTAL;
		this.add(Erg,constr);
		
		pack();
		
		// Listener
		
		// wir selbst behandeln ActionEvents => wir implementieren ActionListener
		btnCheck.addActionListener(this); 
		
		// StdWindowAdapter behandelt unsere WindowEvents
		this.addWindowListener(new StdWindowAdapter(this));
	}
	
	public void actionPerformed(ActionEvent e)
	{
		
	DecimalFormat df = 
     (DecimalFormat)DecimalFormat.getInstance(Locale.GERMAN); 
     df.applyPattern( "#,###,##0.00" );
	
	int Laufzeit = Integer.parseInt(FeldLaufzeit.getText());
	double Kredit = Double.parseDouble(FeldKredit.getText());
	double Zinssatz = Double.parseDouble(FeldZinssatz.getText());
	
	ratentilgung t = new ratentilgung(Kredit, Zinssatz, Laufzeit);
	
	Erg.setText("----- Tilgungsplan bei gleichbleibenden Tilgungsraten -----\n");
	
	Erg.append("\nfuer einen Kredit von " + df.format(Kredit) 
		+ " ueber " + Laufzeit + 
		" Jahre bei " + Zinssatz + "% Zins\n");
	
	Erg.append("\nJahr\t\tSchuld(Vorjahr)\t\tZinsbetrag\t\tTilgungsrate\t\tAnnuitaet\n");
	
	for(int Jahr= 1; Jahr <= Laufzeit; Jahr++ ) 
    { 
	Erg.append(t.inhalt[Jahr] + "\n");
	}
	Erg.append(t.inhalt[0] + "\n\n");
	Erg.append("Zinsen Gesamt: \t\t" + t.ginhalt[0]);
	Erg.append("\n\r");
	Erg.append("Annuitaeten Gesamt: \t" + t.ginhalt[1]);
	
			
	}
}

Code:
import java.util.*;
 import java.text.DecimalFormat; 
  
 class ratentilgung { 
 
        String inhalt[] = new String[Laufzeit+1];
   		String ginhalt[] = new String[2];
   
    
     public ratentilgung(double Kredit, double Zinssatz, int Laufzeit){
             
     double Tilgungsrate, Restschuld, Zinsbetrag, GZinsbetrag, Annuitaet, GAnnuitaet;
      
     
         
     GZinsbetrag = 0; 
     GAnnuitaet = 0;
           
     DecimalFormat df = 
     (DecimalFormat)DecimalFormat.getInstance(Locale.GERMAN); 
     df.applyPattern( "#,###,##0.00" ); 
  
     Tilgungsrate = Kredit / Laufzeit;
  	  	 
     for(int Jahr= 1; Jahr <= Laufzeit; Jahr++ ) 
    { 
           Jahr--;
           Restschuld=Kredit-(Jahr*Tilgungsrate);
           Jahr++; 
           
           Zinsbetrag=Zinssatz*Restschuld/100; 
           Annuitaet=Zinsbetrag+Tilgungsrate;
             
           inhalt[Jahr]=Jahr + "\t\t" + df.format( Restschuld ) + "\t\t" + df.format( Zinsbetrag ) + "\t\t" + 
                              df.format( Tilgungsrate ) + "\t\t" + df.format( Annuitaet );
                              
   
  		   GZinsbetrag=GZinsbetrag+Zinsbetrag; 
  
    } 
    
       inhalt[0]=Laufzeit+1 + "\t\t0,00"; 
  
       GAnnuitaet=Kredit+GZinsbetrag; 
   
       ginhalt[0]=df.format( GZinsbetrag );
       ginhalt[1]=df.format( GAnnuitaet );   	   	
  	   	 	
    }
  
 }
 

sliwalker

Top Contributor
Hoi,

ich hoffe das hilft:
Code:
import java.util.*; 
import java.text.DecimalFormat; 
  
class ratentilgung { 

        String inhalt[]; 
        String ginhalt[] = new String[2]; 
    
    
     public ratentilgung(double Kredit, double Zinssatz, int Laufzeit){ 
      
     inhalt = new String[Laufzeit+1];         
     double Tilgungsrate, Restschuld, Zinsbetrag, GZinsbetrag, Annuitaet, GAnnuitaet; 
      
.
.
.
}

Du deklarierst das Array als Klassen attribut und definierst es im Konstruktor.
Ich hoffe Du meinstest das. ;)

Wobei ich diese Schreibweise gar nicht kenne.
Ich deklarier und definiere Arrays immer so:
Code:
          String[]    inhalt; 
          String[]    ginhalt = new String[2];

Probiers aus ;)
greetz
SLi
 

mic_checker

Top Contributor
sliwalker hat gesagt.:
Wobei ich diese Schreibweise gar nicht kenne.
Ich deklarier und definiere Arrays immer so:
Code:
          String[]    inhalt; 
          String[]    ginhalt = new String[2];

Probiers aus ;)
greetz
SLi
wie heissts so schön: is gehoppt wie gesprungen, die c - programmierer werden wohl die notation von borsti bevorzugen...würde mal behaupten ist geschmackssache.

zumindest habe ich bisher in meinen programmen keinen unterschied gemerkt - korrigiert mich wenn ich mich irre.

greets
mic_checker
 

sliwalker

Top Contributor
Hoi,

ist das so?
Gut zu wissen.

Und ich brech`mir immer einen ab mir zu merken wie in welcher Sprache (Java/C++) Arrays deklariert
werden. :oops:
Dann geht die C-Notation auch in Java :idea:

greetz
SLi
 

mic_checker

Top Contributor
hab nochma nachgeschaut, war mir aber sicher. trotzdem:

[url]http://www.galileocomputing....#Rxxjavainsel_030004521MehrdimensionaleArrays
[/url]

edit:
anfangs habe ich auch gedacht java arrays dürfte man nur so deklarieren:

Code:
String[] test = new String[5];

Aber irgendwann wurd ich dann gewahr das die andere notation ebenfalls funktioniert.

wenn man recht überlegt, ist diese notation auch recht sinnvoll, war es aber selber auch von C aus anders gewohnt. Schließlich deklariert man ein Array einer best. Klasse, bzw. eines best. Datentyps....egal.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
G Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1
M Anfängerprobleme mit Vererbung Java Basics - Anfänger-Themen 27
J Vererbung Java Basics - Anfänger-Themen 9
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben