Statische Methode? Komisch.

Status
Nicht offen für weitere Antworten.
B

Bidibus

Gast
Hi allerseits!


Ich bin neu hier und hab wahrscheinlich die einfachste Frage, die es gibt. Normalerweise mache ich mit Java nicht so viel. Aber die Sprache entwickelt sich ja so gut.

Nun, ich hatte gedacht... ich schreibe ein Programm, welches aus einer Datei Werte sortiert mit dem Quicksort Algorithmus.

Das untenstehende Programm tut dies.

Aber ich kann in meiner Main Methode (ganz unten) leider keine meiner erstellen Methoden aufrufen, da diese sich alle in einem nicht statischen Context befinden.
Kann mir jemand erklären, wie ich diese aufrufe? Ist das Java-eigen?

Das finde ich total seltsam. Angeblich, so habe ich recherschiert, soll ich ein Objekt erzeugen... Naja... ich habe es seit 2 Tagen vergeblich versucht.

:)

Wäre toll, wenn mir hier wer helfen könnte,

Gruß,
Mark


Code:
import java.util.Random;

public class qsort extends Reader{

    public void quicksort(int a[]){
	// Dies ist der Quicksort...
	
	for (int i=0; i>zahlenliste.size(); i++) {
	    leser()[i]=a[i];
	    
	}
	
	
	int unten, oben;
	int i=0;				//erstes Element
	int j=zahlenliste.size();		//letzes Element
	//int mitte=(unten + oben)/2;		//Debugging
	int x=a[randomPivot()];			//a irgendwo
	
	do {
	    while (a[i]<x)
		i++;
	    while (a[j]>x)
		j--;
	  
	    if (i<=j) {
		int tmp=a[i];
		a[i]=a[j];
		a[j]=tmp;
		i++;
		j--;
	    
	    }
	    	    
	} while (i<=j);
	
	if (unten<j) 
	    quicksort();
	if (i<oben)
	    quicksort();
	
	
	
    }

 public int randomPivot() 
 {
     
     Random r = new Random(); 
     int startwert=0;
     int x=startwert + r.nextInt() % zahlenliste.size();
     return x;
     
     
 }
    
}

Code:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


public class Reader
{
    List zahlenliste = new ArrayList();

    public int[] leser()
    {
        int[] intArray = null;

        BufferedReader br = null;

        try
        {
            br = new BufferedReader(new FileReader("sortme.dat"));

            String zahl;
            while ((zahl = br.readLine())!=null )
            {
                zahlenliste.add(Integer.valueOf(zahl));
            }

            int size = zahlenliste.size();
            intArray = new int[size];
            Integer[] sortedArray = (Integer[]) zahlenliste.toArray(new Integer[size]);
            Arrays.sort(sortedArray);

            for (int i = 0, n = zahlenliste.size(); i < n; i++)
            {
                intArray[i] = sortedArray[i].intValue();
            }
        }
        catch (Exception e)
        {
            System.out.println("Data Error!");
        }
        finally
        {
            if( br != null)
            {
                try
                {
                    br.close();
                }
                catch (IOException e)
                {
                    //nop
                }
            }
        }

        return intArray;
    }

    public static void main(String[] args)
    {
        Reader reader = new Reader();
        int[] intArray = reader.leser();
        for( int i=0,n=intArray.length; i<n; i++)
        {
            System.out.println( "value: " + intArray[i]);
        }
    }
}

Code:
public class start extends qsort {

    
    
    public static void main (String[] args) {
	
	int[] a=null;
	a = new int[2000];
	quicksort();
	
	
	System.out.println(a[1]);
	

    
}
 

André Uhres

Top Contributor
Code:
package basics;
/*
 * start.java
 */
public class start extends qsort {
    public start(){
        int[] a=null;
        a = new int[2000];
        quicksort(a);
        System.out.println(a[1]);
    }
    public static void main(String[] args) {
        new start();
    }
}
 
B

Bidibus

Gast
Hi!

Ja, Danke für den Tipp mit der start Methode... :)
So komme ich erst mal noch um die OOP rum...

Hier bei uns an der Uni machen wir ja erst Algorithmen, dann OOP Grundlagen (Osnabrück). Von daher kommen die Grundlagen noch. Und jeder fängt mal irgendwo an. Die Erklärung in dem Inselbuch fnde ich gut, wenn man weiß, was es bedeuten soll.
Mir sagt das vom Denken her (statische Methodoe = objektbeschreibende Methode) nichts. Noch nicht.

Was mir nun im Moment noch Sorgen macht ist aber was anderes. Denn OOP kommt demnächst noch.

Undzwar möchte ich:
Code:
public class start extends qsort { 

       public start(){ 
	        int[] a; 
	        leser();                                     //Lesermethode ausführen
	        	
	        a = new int[leser().length-1]; //und zwischenspeichern
	       
	        
	        
	        
	        
	        
	        for(int i=0,n=a.length-1; i<n; i++)
	        {
	            System.out.println(intArray[i]);
	        }
	   
	     
	    } 
	
       
       public static void main(String[] args) { 
	        new start(); 
	    } 
	
}

in dieser Startmethode ja auf das Array zurückgreifen, welches mir meine Leser Methode liefert.
Ich habe aber ein Laufzeitproblem, da das intArray aus Leser bei jedem Aufruf neu berechnet wird.
Gibt es eine Programmiertechnik, die es mir ermöglicht dieses in einen Zwischenspeicher zu packen, auf den ich öffentlich zugreife?

public deklarieren kann ich es ja nicht...

Naja... so braucht es ne Stunde :p Find ich schon mal genial... zumindest komisch.


Vielen Dank schon mal,
Gruß,
Bidibus
 
D

derJens

Gast
Deklarier das Array doch public oder pack den reader in die Main Methoden. Man sollte eh möglichst viel an die Main Methode heften :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T statische Variable und nicht-statische Methode Allgemeine Java-Themen 2
P "Overriden statische Methode" Statische Methode die vererbt wird Allgemeine Java-Themen 5
N Klasse rausfinden, an der eine statische Methode aufgerufen wurde ? Allgemeine Java-Themen 10
M Zwingen eine statische Methode zu importieren Allgemeine Java-Themen 5
S Innere Klassen und die statische Methode access$x Allgemeine Java-Themen 5
M Paralleler Zugriff auf statische Methode Allgemeine Java-Themen 5
F Statische Methode in abstrakter Superklasse definieren Allgemeine Java-Themen 4
S Tiefe Kopie einer Baumstruktur als statische Methode Allgemeine Java-Themen 8
M statische Methode per reflection aufrufen Allgemeine Java-Themen 2
S Statische Methode oder nicht? Allgemeine Java-Themen 5
T in einer statischen Methode ein nicht statische Aufrufen Allgemeine Java-Themen 5
D Statische, generische Methode will nicht. Allgemeine Java-Themen 2
H Zugriff auf statische Methode durch mehrere User Allgemeine Java-Themen 19
temi Private statische Hilfsmethoden Allgemeine Java-Themen 33
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
N Threads statische Methoden in Threads Allgemeine Java-Themen 5
M Zeiger auf statische Variable Allgemeine Java-Themen 1
S Kapselung Statische Helper Klassen Allgemeine Java-Themen 5
C Classloading und statische Variablen Allgemeine Java-Themen 2
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
D Wann sollte ich statische Methoden und Variablen benutzen? Allgemeine Java-Themen 44
J Statische Variablen, Threadübergreifend. Allgemeine Java-Themen 4
R Statische Klasse: Best practice mit flags (2) Allgemeine Java-Themen 3
R statische initialisierer Allgemeine Java-Themen 7
S statische Methoden und Vererbung Allgemeine Java-Themen 6
heart_disease Designfrage: Statische Konfigurationsklasse Allgemeine Java-Themen 10
S statische Interfaces..? Allgemeine Java-Themen 6
M Wann Membermethoden, wann statische Utility-Methoden? Allgemeine Java-Themen 24
S Statische Methoden in abstrakte Klassen deklarieren? Allgemeine Java-Themen 17
J Statische Methoden in Interfaces? Allgemeine Java-Themen 10
G Wann statische Methoden, statische Attributen? Allgemeine Java-Themen 7
G Statische Methoden erzwingen Allgemeine Java-Themen 2
H Zugriff auf statische Variable synchronisieren Allgemeine Java-Themen 4
A [SOLVED] Classpath und statische Variablen Allgemeine Java-Themen 6
M statische regex und vergleiche oder immer wieder compilen Allgemeine Java-Themen 2
S Auf statische Funktionen mit Java Reflections zugreifen Allgemeine Java-Themen 3
W Hilfe bei Methode Allgemeine Java-Themen 14
Ü Methoden Arrays vergleichen - Methode Allgemeine Java-Themen 1
Simon16 compareTo Methode überschreiben Allgemeine Java-Themen 4
TheSkyRider Methode über DataInputStream "auslösen" Allgemeine Java-Themen 6
M CrudRepository save Methode mocken Allgemeine Java-Themen 6
thor_norsk toString() - Methode Allgemeine Java-Themen 6
A Clean Code: Variable vs. Methode Allgemeine Java-Themen 8
Encera Zweite Main-Methode zuschalten Allgemeine Java-Themen 18
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Hibernate Envers - Aufruf der Methode zum Speichern selbst ausführen oder managen? Allgemeine Java-Themen 0
N rekursion mehrfach eine Methode Öffnen Allgemeine Java-Themen 4
berserkerdq2 Wenn ich eine Methode nur jede 50ms ausführen will, wie mach ich das? Allgemeine Java-Themen 4
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
N Schnellste Methode, ein Array durchzugehen? Allgemeine Java-Themen 9
E Methoden abstract static Methode Allgemeine Java-Themen 8
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
B In Java Methode mit generic input und output basteln? Allgemeine Java-Themen 4
goldmensch Datentypen Welche Methode hat die bessere Performance? Allgemeine Java-Themen 12
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
T C++ Methode Übersetzung in Java Allgemeine Java-Themen 3
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
R @author vor Methode (eclipse) Allgemeine Java-Themen 1
J RotSchwarzBaum: Löschen mittels insert-Methode Allgemeine Java-Themen 20
Y Java Bruttoberechnen + runden Methode Allgemeine Java-Themen 1
R Warum ist die Methode unendlich oft rekursiv? Allgemeine Java-Themen 5
R Methoden Was fehlt mir bzw. muss ich bei der Methode countHarshabNumbers ändern damit ich die Harshad Zahlen im Intervall [51, 79] zählen kann? Allgemeine Java-Themen 19
D ArrayListe delete Methode klappt nicht Allgemeine Java-Themen 12
Drachenbauer Wie finde ich den Aufrufer zu einer Methode, die sich nicht in meinem Projekt befindet? Allgemeine Java-Themen 2
A Ist ein enum hier richtig? Enum toString() Methode. Allgemeine Java-Themen 1
Scream_ilias brute force methode verbessern? Allgemeine Java-Themen 6
Scream_ilias passwort meines pc per brute force methode knacken Allgemeine Java-Themen 4
S static methode im Interface Allgemeine Java-Themen 1
M Konstruktor einer Methode Allgemeine Java-Themen 35
A HashMap Methode "get()"-Problem Allgemeine Java-Themen 28
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
T Sinn einer toString Methode Allgemeine Java-Themen 3
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
L Methoden Über Reflections eine Methode mit aufrufen Allgemeine Java-Themen 3
S Kann ich eine Methode schreiben die alle Arten von funktionalen Interfaces akzeptiert..? Allgemeine Java-Themen 21
L ToString-Methode Allgemeine Java-Themen 6
X Datentypen NPE in längerer Methode Allgemeine Java-Themen 12
I Methoden Generics-Methode Allgemeine Java-Themen 3
H Strategy Pattern - changeColor() Methode - input rgd oder hex einlesen Allgemeine Java-Themen 1
B Aufruf der Methode ergibt eine Exception Allgemeine Java-Themen 13
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
F Was ist der Dateityp meines Parameters für die Main Methode. Allgemeine Java-Themen 6
F Variablen Palindromzahl (Probleme mit Methode) Allgemeine Java-Themen 9
B APi methode kurz anhalten Allgemeine Java-Themen 8
P Methode aus anderem Paket aufrufen Allgemeine Java-Themen 1
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
R Rekursive Methode Allgemeine Java-Themen 8
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
R Wo ist mein Fehler in der Methode DRINGEND Allgemeine Java-Themen 9
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
E RMI NULL-Pointer-Exeception wenn der RMI-Proxy eine Methode deligiert Allgemeine Java-Themen 2
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
M Methoden Generische Methode für ArrayList Allgemeine Java-Themen 7
D HTTP Aufruf einer Methode aus einem Servlet heraus Allgemeine Java-Themen 0
C Threads Methode verhält sich merkwürdig Allgemeine Java-Themen 18
R rekursive und iterative Methode Allgemeine Java-Themen 3
P Methoden Anwendung der allMatch()-Methode Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72

Ähnliche Java Themen

Neue Themen


Oben