Java Methode auslagern

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Methoden kann man im Sinne deiner Frage nicht „auslagern“ oder zwischenspeichern.

Methoden sind einfach Unterprogramme, die 1 … n Eingangsparameter benötigen und ggf. einen Rückgabewert zurückliefern. Dabei greifen sie ggf. auf Daten zu, die sie zuvor erzeugt haben. Im allgemeinen liegen diese Daten auf dem „Heap“ des Programms und mit Zeigern kann man die Daten auslesen oder überschreiben …

Betriebssysteme können zwar Programmteile auslagern oder genauer: auf die Festplatte zwischenspeichern, doch hier liegt die Aufgabenstellung anders. Man will den vorhandenen Arbeitsspeicher (RAM) nutzen und hat bei manchen Rechnern nicht genug Arbeitsspeicher, weswegen man auf diese zeitraubende Möglichkeit zurückgreifen muß.

kannst du machen, aber zwecks übersicht mach die main als erstes. dann kannst du schreiben was du willst. zb public void langeweile(){}

3

Das klappt aber so nicht. Hab noch etwas vergessen: ich versuche ein Array zur "Bearbeitung" an eine Methode zu übergeben und möchte es gefüllt zurückhaben.

0
26
@chronix

dann musst du anstatt void deinen datentyp einsetzen und in die runden klammern den wert den du der methode übergibst. am ende dann return und den wert den zu zurückgeben willst.

public int langweile (int tmp){ a = tmp return a}

0
3
@telematiker86

Und bei einem Array? public String langweile (String array[]){array[0]="tmp" return array[];}

Klappt leider nicht.

0
26
@PerfectMuffin

na mit array direkt übergeben kanns natürlich nich gehn. da is das bsp oben besser geeignet für

0
26
@PerfectMuffin

in wie fern? die Einbindung einer Übergabe in eine ausgelagerte Methode ist ein absolut normaler Vorgang. Wenn man natürlich seine Programme nur mit der main schreibt, sollte man sich über OOP gedanken machen.

0
38
@telematiker86

Sicherlich ist es angebracht, Funktionen zu verwenden, aber für mich klang das jetzt so, als ob etwas temporär IN der Funktion gespeichert werden soll und das würde ich als ziemlich sinnfrei erachten.

0

Mit Java geht das nicht direkt. aber du kannst eine private static Variable anknüpfen.

private static int[] ZwischenSpeicher;
static int[] save(int[] A){

    if(A!=null)ZwischenSpeicher=A;
    return ZwischenSpeicher;

}

Schleifen Pause bei Java (Eclipse Oxygen)?

Ich würde gerne bei Java nach dem meine while-schleife einmal durchlaufen wurde eine kurze pause macht und dann wieder durchläuft. Ich wollte fragen wie das geht. (das script: public class Verzweigung { public static void main(String[] args) {

    int zaehler = 1;
    while (zaehler < 50) {
        zaehler++;
        System.out.println(zaehler);
    }
}

} was muss ich dann machen falls es geht?

...zur Frage

IOTools Java?

Guten Abend,

Ich habe mal wieder eine Frage über Java.

Ich habe ein Programm mit der main-Methode erstellt, einen String.

Dieses:

public class Hello {
  public static void main(String[] args) {
    String name = "Bsp";
    String x = name;
    System.out.println("Hallo " + x + "!");
  }
}

Diesen soll ich jetzt so umändern, dass anstelle der direkten Zuweisung meines Namens, die Variable mit Hilfe der Methode IOTools.readLine den Wert belegt.

Den Anfang habe ich schon gemacht:

import Prog1Tools.IOTools;

public class Hello {
  public static void main(String[] args) {
    String name = IOTools.readLine();

Jedoch weiß ich nicht weiter. Dokumentationen lesen bringt mir da auch nicht viel, leider.

Ich hoffe ich bekomme hier Hilfe.

LG

...zur Frage

Java Code geht nicht?

Hallo der Code funktioniert irgendwie nicht. Was ist das Problem?

public class main {
  public static void main (String[] args) {
    int a = 10;
    int b = 0;
    String Eingabe;

    while(a < b) {
      Scanner sc = new Scanner(System.in);
      Eingabe = sc.next();

      if ("Hallo".equals(Eingabe)) {
        System.out.println("Hallo");
      }
    }
  }
}
...zur Frage

Java Hauptklasse Fehlermeldung?

Ich habe einen Java Code geschrieben und alle hat funktioniert.Plötzlich kam diese Fehlermeldung: Hauptmethode in Klasse org.psnbtech.Daten nicht gefunden. Definieren Sie die Hauptmethode als: public static void main(String[] args):
Oder eine JavaFX-Anwendung muss javafx.application.Application erweitern.

Weiss nicht was ich da genau machen muss..

...zur Frage

Variable von einer Klasse in eine andere Übergeben?

Hallo zusammen,

ich programmiere gerade in Java und habe ein kleines Problem.

ich habe 3 neue Klassen erzeugt. Nur die erste Klasse besitzt eine main-Methode. Nun wollte ich die in der main Methode erzeuge Zufallszahl an die dritte Klasse übergeben um dort etwas damit zu machen.

Leider weiß ich nicht wie das geht.

Anbei der Sourcecode:

Hier die Klasse mit der Main-Methode:

package Klassen;

import java.awt.Graphics;
import javax.swing.JPanel;

public class HauptFenster {

    
    public static void main(String[] args) {
        
        Fenster fenster = new Fenster();
        Rechteck panel = new Rechteck();
        
        fenster.add(panel);
        
        while(true){
        
            int high = (int)(Math.random()*200);
            int width = (int)(Math.random()*150);
            
        }
    }
}

Hier die Klasse 3:

package Klassen;

import java.awt.Graphics;
import javax.swing.JPanel;

public class Rechteck extends JPanel {
    
public int zufall;
    
    public Rechteck(){
        
        this.setSize(500, 500);
    }

    public void paint (Graphics g){
        g.fillRect(120, 100, 100, 130);
    }
}

Die Beispiel soll nur zur Übung dienen.

MfG

...zur Frage

Hauptklasse 'JFrame' (Java Eclipse Neon) konnte nicht gefunden werden?

Code :

import javax.swing.JFrame;

public class ShowAFrame {

public static void main(String [] args){
    JFrame myFrame = new JFrame();
    String myTitle = "Leerer Frame";
    myFrame.setSize(200, 300);
    myFrame.setDefaultCloseOperation
        (JFrame.EXIT_ON_CLOSE);
    myFrame.setVisible(true);               
}

}

Wenn ich dann das Programm ausführe erscheint die Fehlermeldung "Hauptklasse 'JFrame' konnte nicht gefunden oder geladen werden." Was kann ich unternehmen?

...zur Frage

Was möchtest Du wissen?