Konstruktur - Verständnisproblem

MaCXyLo

Mitglied
Hallo,

Java:
package chapter3Statements.ATableOfSquareNumbers;

public class AuxiliaryExamplePart1 {


    final static String minus = "-";
    final static String empty = " ";
    
    private String[][] StringArray = null;
    int MultiplicateLine;
    int FormatLine;


    public int inputlength1 = String.valueOf(MultiplicateLine).length();
    public int inputlength2 = String.valueOf(MultiplicateLine*MultiplicateLine).length();
    
    public AuxiliaryExamplePart1(String[][] StringArray, int MultiplicateLine, int FormatLine)
    {
        this.StringArray = StringArray;
        this.MultiplicateLine = MultiplicateLine;
        this.FormatLine = FormatLine;
    }


    public void output2DArray() {
        for (int x = 0; x < StringArray.length; x++) {
            for (int y = 0; y < StringArray.length; y++) {
                System.out.print(StringArray[x][y]);
            }
                System.out.print("\n");
        }
    }


    public void fill2DArray(int x, int y, int m, int n) {
        for (; x < StringArray.length; x++, m++) {
            for (int y1 = y, n1 = n; y1 < StringArray.length; y1++, n1++) {
                StringArray[x][y1] = Integer.toString((m)*(n1));
                StringArray[x][y1] = spaces(StringArray[x][y1].length())+Integer.toString((m)*(n1));
            }
        }
    }


    public String spaces(int StringArrayContentLength) {
        
        StringBuilder spaces = new StringBuilder();
        
        for (int j = 0; j <= inputlength2-StringArrayContentLength; j++) {
            spaces.append(empty);
        }
        
        return spaces.toString();
    }
}

Java:
package chapter3Statements.ATableOfSquareNumbers;

public class AuxiliaryExamplePart1Main {


    public static void main(String[] args) {
        
        int MultiplicateLine = 5;
        int FormatLine = 2;
        
        String[][] StringArray = new String[MultiplicateLine+FormatLine][MultiplicateLine+FormatLine];
        
        AuxiliaryExamplePart1 generator = new AuxiliaryExamplePart1(StringArray, MultiplicateLine, FormatLine);
        
    //    for (int j = 0; j <= inputlength2; j++) {
    //        format.append(minus);
    //    }
        
        generator.fill2DArray(2,2,1,1);
        generator.output2DArray();
    }
}

ich versuche gerade die int MultiplicateLine von der Main Klasse der anderen Klasse bekannt zu machen über den Konstruktor.
Ich krieg es aber leider nicht gebacken. Kann mir jemand einen Tipp geben?

Grüße
 
Zuletzt bearbeitet von einem Moderator:

MaCXyLo

Mitglied
Java:
package chapter3Statements.ATableOfSquareNumbers;

public class AuxiliaryExamplePart1 {


    final static String minus = "-";
    final static String empty = " ";


    private String[][] StringArray = null;
    private int MultiplicateLine; 
    
    public AuxiliaryExamplePart1(String[][] StringArray, int MultiplicateLine)
    {
        this.StringArray = StringArray;
        this.MultiplicateLine = MultiplicateLine;
    }


    int inputlength1 = String.valueOf(MultiplicateLine).length();
    int inputlength2 = String.valueOf(MultiplicateLine*MultiplicateLine).length();
    
    public void output2DArray() {
        for (int x = 0; x < StringArray.length; x++) {
            for (int y = 0; y < StringArray.length; y++) {
                System.out.print(StringArray[x][y]);
            }
                System.out.print("\n");
        }
    }


    public void fill2DArray(int x, int y, int m, int n) {
        for (; x < StringArray.length; x++, m++) {
            for (int y1 = y, n1 = n; y1 < StringArray.length; y1++, n1++) {
                StringArray[x][y1] = Integer.toString((m)*(n1));
                StringArray[x][y1] = spaces(StringArray[x][y1].length())+Integer.toString((m)*(n1));
            }
        }
    }


    public String spaces(int StringArrayContentLength) {
        
        StringBuilder spaces = new StringBuilder();
        
        for (int j = 0; j <= inputlength2-StringArrayContentLength; j++) {
            spaces.append(empty);
        }
        
        return spaces.toString();
    }
}

Java:
package chapter3Statements.ATableOfSquareNumbers;

public class AuxiliaryExamplePart1Main {


    public static void main(String[] args) {
        
        int MultiplicateLine = 5;
        int FormatLine = 2;


        String[][] StringArray = new String[MultiplicateLine+FormatLine][MultiplicateLine+FormatLine];
        
        AuxiliaryExamplePart1 generator = new AuxiliaryExamplePart1(StringArray, MultiplicateLine);
        
    //    for (int j = 0; j <= inputlength2; j++) {
    //        format.append(minus);
    //    }
        
        generator.fill2DArray(2,2,1,1);
        generator.output2DArray();
    }
}

So, ich habe den Konstruktor in der Zwischenzeit verstanden.
Ich habe gedacht, es liegt daran, das ich den Konstruktor nicht richtig initialisiert habe, da war ich aber schief gewickelt.
Nachdem ich den Debugger benutzt habe, hat es dann irgendwann Klick gemacht.

int inputlength1 = String.valueOf(MultiplicateLine).length();

Es liegt an folgender Codezeile - das ganze hat aber schon mal einmal so funktioniert:

int inputlength2 = String.valueOf(MultiplicateLine*MultiplicateLine).length();

Seit neustem schreibt er aber in inputlength2 eine 1 anstatt eine 2 - ich habe aber keine Ahnung wieso.

Also als Beispiel MultiplicateLine = 5:
inputlength1 = 1; // 5
inputlength2 = 2; // 5x5

Der Workaround sieht wie folgt aus:

int inputlength1 = String.valueOf(MultiplicateLine).length();
int inputlength2 = inputlength1*2;

Vorschläge woran das liegt?
Mir geht's um's Verständnis, nicht um die Funktionalität.
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Java:
public class AuxiliaryExamplePart1 {
    final static String minus = "-";
    final static String empty = " ";
    private String[][] StringArray = null;
    private int MultiplicateLine; 
    
    public AuxiliaryExamplePart1(String[][] StringArray, int MultiplicateLine)
    {
        this.StringArray = StringArray;
        this.MultiplicateLine = MultiplicateLine;
    }


    int inputlength1 = String.valueOf(MultiplicateLine).length();
    int inputlength2 = String.valueOf(MultiplicateLine*MultiplicateLine).length();
}

Seit neustem schreibt er aber in inputlength2 eine 1 anstatt eine 2 - ich habe aber keine Ahnung wieso.

Die Instanzvariablen ("StringArray", "MultipcateLine", "inputlength1" und "inputlength2") werden initialisiert bevor der Konstruktor abgearbeitet wird!
Dadurch hat "MultiplicateLine" den Wert 0 und bei der Berechnung von "inputlength2" wird "0x0" gerechnet. Daher ist die Länge auch 1.

Werte die Abhängig von Parametern im Konstruktor sind, müssen im Konstruktor festgelegt werden. :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wo liegt der Unterschied? Deklaration Klasse oder Konstruktur Java Basics - Anfänger-Themen 3
J erstes Prog./Klasse - Konstruktur/Objekterstellung funktioniert nicht Java Basics - Anfänger-Themen 25
K konstruktur bei der vererbung Java Basics - Anfänger-Themen 5
K konstruktur als public definieren Java Basics - Anfänger-Themen 11
W Konstruktur arbeitet nicht richtig? Java Basics - Anfänger-Themen 3
G Konstante im Konstruktur initialisieren Java Basics - Anfänger-Themen 8
H Konstruktur von der eingebetteten Klasse wird nicht gefunden Java Basics - Anfänger-Themen 2
H Konstruktur per ActionEvent an eine andere Methode übergeben Java Basics - Anfänger-Themen 8
K Verständnisproblem bei Server/Client Java Basics - Anfänger-Themen 3
nonickatall Grundsätzliches Verständnisproblem des Aufbaus eines Programms Java Basics - Anfänger-Themen 19
X Verständnisproblem Call-By-Reference Java Basics - Anfänger-Themen 5
P JavaFX: Verständnisproblem bei ComboBox/ChoiceBox etc. Java Basics - Anfänger-Themen 9
T Verständnisproblem mit Assoziationen Java Basics - Anfänger-Themen 7
M Verständnisproblem der Rekursion bei Arrays Java Basics - Anfänger-Themen 8
A Erste Schritte Verständnisproblem Java Basics - Anfänger-Themen 5
S Verständnisproblem Aufgabe Java Basics - Anfänger-Themen 9
S Model View Controller: Verständnisproblem Java Basics - Anfänger-Themen 13
temi Verständnisproblem Class.forName() Java Basics - Anfänger-Themen 3
2 Verständnisproblem bei Anwendung von Lower Bounded Wildcards Java Basics - Anfänger-Themen 5
V Verständnisproblem Java Basics - Anfänger-Themen 22
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
J Verständnisproblem einer Methode Java Basics - Anfänger-Themen 20
C Postinkrement und println - Verständnisproblem Java Basics - Anfänger-Themen 8
T Verständnisproblem beim Vigenere-Verfahren Java Basics - Anfänger-Themen 2
Q MVC Verständnisproblem: Controller vs model.modelChanged() Java Basics - Anfänger-Themen 0
N Verständnisproblem InsertionSort. Java Basics - Anfänger-Themen 2
D Verständnisproblem Java Basics - Anfänger-Themen 2
B VerständnisProblem mit Beispielaufgabe aus Buch Java Basics - Anfänger-Themen 1
H Polymorphie Verständnisproblem Vererbung/Polymorphie Java Basics - Anfänger-Themen 4
FrankR2 Grundsätzliches Verständnisproblem: Java 32/64-bit; Windows 7/8, 32/64-bit-System Java Basics - Anfänger-Themen 5
S Verständnisproblem bei Interfaces Java Basics - Anfänger-Themen 6
V Verständnisproblem Java Basics - Anfänger-Themen 5
V Arrays-verständnisproblem Java Basics - Anfänger-Themen 4
M Collections HashSet verständnisproblem Java Basics - Anfänger-Themen 9
S Verständnisproblem einer Übungsaufgabe Java Basics - Anfänger-Themen 6
H Abstrakte Basisklasse Verständnisproblem! Java Basics - Anfänger-Themen 8
G Verständnisproblem mit swing Java Basics - Anfänger-Themen 6
F Methoden Cannot refer to a non-final variable.. verständnisproblem. Java Basics - Anfänger-Themen 7
P Verständnisproblem main Methode Java Basics - Anfänger-Themen 9
S Klassen Verständnisproblem Konstruktor Java Basics - Anfänger-Themen 7
I e.getMessage(); - Verständnisproblem Java Basics - Anfänger-Themen 6
lesni Vererbung Vererbung - Verständnisproblem Java Basics - Anfänger-Themen 2
M OOP Polymorphie/Vererbung Verständnisproblem Java Basics - Anfänger-Themen 2
J Verständnisproblem Methoden-Kettung Java Basics - Anfänger-Themen 3
A Vererbung Verständnisproblem bei Übung Java Basics - Anfänger-Themen 5
E Verständnisproblem Typkonvertierung Java Basics - Anfänger-Themen 4
S OOP Verständnisproblem Umsteiger Java Basics - Anfänger-Themen 22
C Array Verständnisproblem Java Basics - Anfänger-Themen 3
P White-Box-Test Verständnisproblem Java Basics - Anfänger-Themen 11
D : ? Operator -Verständnisproblem Java Basics - Anfänger-Themen 24
G Verständnisproblem: Exceptions Java Basics - Anfänger-Themen 17
L Eclipse verlangt "{" nach ";"... Verständnisproblem Java Basics - Anfänger-Themen 5
D charAt(i) verständnisproblem Java Basics - Anfänger-Themen 4
D Verständnisproblem Marken und Schleifen Java Basics - Anfänger-Themen 19
M Verständnisproblem bei Ternären Operanten bzw. Bedingungsoperator Java Basics - Anfänger-Themen 8
T Datentypen Verständnisproblem mit main Methode Java Basics - Anfänger-Themen 3
M Verständnisproblem Threads Java Basics - Anfänger-Themen 7
X Threads und synchronized - Verständnisproblem Java Basics - Anfänger-Themen 3
W ArrayLists: Verständnisproblem bei remove() Java Basics - Anfänger-Themen 2
B Verständnisproblem zu Swing und Methoden Java Basics - Anfänger-Themen 8
A Postinkrement-Verständnisproblem Java Basics - Anfänger-Themen 12
R Iterator Liste, Verständnisproblem Java Basics - Anfänger-Themen 4
1 Verständnisproblem mit Foreach Java Basics - Anfänger-Themen 4
B Verständnisproblem bei Vererbung Java Basics - Anfänger-Themen 3
W generisches Programmieren - Verständnisproblem Java Basics - Anfänger-Themen 4
A Verständnisproblem Nr 2 Java Basics - Anfänger-Themen 14
A Verständnisproblem Java Basics - Anfänger-Themen 6
A Array Verständnisproblem Java Basics - Anfänger-Themen 8
G Verständnisproblem --> JTree Java Basics - Anfänger-Themen 6
M Verständnisproblem mit der Klasse Thread Java Basics - Anfänger-Themen 10
N BufferedReader Verständnisproblem Java Basics - Anfänger-Themen 12
G Verständnisproblem: Code kompelieren und interpretieren Java Basics - Anfänger-Themen 3
S Polymorphie Verständnisproblem Java Basics - Anfänger-Themen 4
G Verständnisproblem Türme von Hanoi Java Basics - Anfänger-Themen 4
G Verständnisproblem Serverinput einlesen. Java Basics - Anfänger-Themen 4
J Array und Schleifen Verständnisproblem Java Basics - Anfänger-Themen 25
G Verständnisproblem Java Basics - Anfänger-Themen 4
N Verständnisproblem: Mehrere Objekte einer Klasse erstellen Java Basics - Anfänger-Themen 2
S SelectionListener + repaint().Verständnisproblem ;) Java Basics - Anfänger-Themen 7
V Verständnisproblem mit Abstrakten zu Konkreten Klassen Java Basics - Anfänger-Themen 7
A Problem mit der Stringgrösse, bzw Verständnisproblem? Java Basics - Anfänger-Themen 14
A Verständnisproblem mit ScrollPanel Java Basics - Anfänger-Themen 3
R Verständnisproblem mit Hibernate Java Basics - Anfänger-Themen 2
T Verständnisproblem mit equals() Java Basics - Anfänger-Themen 4
N datei byte für byte auslesen (verständnisproblem) Java Basics - Anfänger-Themen 2
T Verständnisproblem packages/import Java Basics - Anfänger-Themen 9
Chucky Lineare Listen Programm Verständnisproblem Java Basics - Anfänger-Themen 38
D Verständnisproblem Java Basics - Anfänger-Themen 6
S for Schleifen: Verständnisproblem Java Basics - Anfänger-Themen 15
T Vererbung von Attributen und Methoden, Verständnisproblem Java Basics - Anfänger-Themen 4
bernd while-Schleife: Verständnisproblem Java Basics - Anfänger-Themen 7
S verständnisproblem drucken Java Basics - Anfänger-Themen 11
G GridBagLayout: Verständnisproblem Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben