Methoden Nicht statische Methode aus Main aufrufen

RMD1995

Mitglied
Hallo,

ich probiere mich gerade ein einem Programm in dem ein Array vom Benutzer angegeben werden soll.

Bevor ich hier in die eigentliche Funktion des Programms gehe soll der Array auf verschiedene Dinge geprüft werden um spätere Fehler zu verhindern.

Hierfür soll die Matrix in eine Methode (CheckArray) in einer andere Klasse (CheckArray) übergeben werden, die dann die eigentlichen Tests durchführt und ggf. Exceptions ausgibt.
An sich Funktioniert das ganze auch, nur das auch vorgegeben ist das in der Klasse private Integer sein sollen die die Höhe und Breite der Matrix speichern sollen.

Damit in der Methode auf die vorher deklarierten Klassen-Variablen zugreifen zu können muss ich das "static" aus dem Methoden Konstruktor entfernen (so soll der Konstruktor laut Aufgabe auch heißen):
Code:
public class CheckArray {
    private int breite;
    private int hoehe;

    public void CheckArray(int[][] array){
    ...
    }
}


Nun ist mein Problem das ich nicht weiß wie ich aus der Main (statisch) die nicht-statische Methode CheckArray aufrufen soll und dabei den Array mit übergeben kann.

Normalerweise würde ich das ganze mit
Code:
array.CheckArray.CheckArray(array);
aufrufen, hier kommt allerdings der Fehler:

non-static method CheckArray cannot be referenced from static context

Wie rufe ich meine Methode korrekt auf?
Hier nochmal zur Übersicht, mein Projekt aufbau (vorgegeben):

-src
- main (Package)
--- Main (Klasse)
- array (Package)
--- Array (Klasse)

Mit freundlichen Grüßen
 
Du brauchst eine Instanz von der Klasse CheckArray um die Methoden welche nicht static sind aufrufen zu können.

In der Main sehe das ungefähr so aus:
Java:
CheckArray checkArray = new CheckArray();
checkArray.CheckArray(array);
Natürlich nur wenn du die Klasse vorher importierst, was ich empfehle.
 

Zurück
Oben