Grundlage für "App" und Strukturierung

Schlagdraufunschluss_124

Aktives Mitglied
Hallo! Ich versuche eine App zu programmieren, die mir meinen Notendurchschnitt ausrechnet und das alles etwas grafisch umzusetzen . Hierbei soll man seine Schulfächer und seine Noten in eine Tabelle eingeben können( Am besten wäre es wenn ich es vielleicht wie in Excel lösen könnte, sprich dass man vielleicht jedes Feld anklicken kann; Andernfalls müsste ich dann die Eingabe eben anders regeln...) Allerdings bin ich mir unsicher, wie ich das ganze Projekt strukturieren soll. Meine Idee war es eine Boot-Klasse zu erstellen, die die Hauptklasse aufruft. Hier sollte dann alles "zusammenlaufen". Vielleicht kann man die "Eingabe", sowie die Grafik in eine andere Klasse auch separieren.Und wie sollte ich die Tabelle mit den Feldern angehen (Etwa für jedes einzelne Feld ein TextField?-Das würde doch keinen Sinn machen oder ?)

Danke für eure Antworten!
 

Flown

Administrator
Mitarbeiter
Ich würde mal sagen, du fängst an die Funktionlität deines Models abzubilden und dann fügst du die UI hinzu. Überlege dir gut, welche UI Widgets für deine Anzeige geeignet sind und zeichne es evtl. für dich auf. Wenn du dann zufrieden bist, machen.
 

JuKu

Top Contributor
Am besten solltest du dir erstmal ein UI Mookup erstellen, wie es aussehen soll.
Dann eine Activity, die die Daten eingibt, vllt. noch eine, die am Ende das Ergebnis präsentiert.
Wozu brauchst du eine Boot Klasse?
 

Schlagdraufunschluss_124

Aktives Mitglied
Im Prinzip ja...
Ich bin hier gerade aber schon auf das erste Problem gestoßen:
1) Ich versuche, dass meine Tabelle, wo man später alles einträgt, eine variable Zeilenzahl hat-sodass der Benutzer auf Knopfdruck eine weitere Zeile hinzufügen/entfernen kann.
2)Ich hab versucht den Inhalt der Zeilen per Variablen abzugreifen, allerdings ist der String im Sysout dauernd "null"- warum??

Hier der Code:
Java:
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.util.Scanner;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableModel;

public class Tabelle extends JFrame {  
    JTable table;    
    String column2;
    static String column1;  

    public Tabelle() {    
        setLayout(new FlowLayout());      
        String[] spaltenName = {"Fach","Note"};      
        String [][] data = {
                {column1,column2}  
        };
          
        table = new JTable (data,spaltenName);
        table.setPreferredScrollableViewportSize(new Dimension(500,50));
        table.setFillsViewportHeight(true);
      
        JScrollPane scrollPane = new JScrollPane(table);
        add(scrollPane);
    }
    public static void main (String [] args){
        Tabelle gui = new Tabelle();
        gui.setDefaultCloseOperation(gui.EXIT_ON_CLOSE);
        gui.setVisible(true);
        gui.setSize(600,200);      
        while(true)
            System.out.println("Zeilen"+column1);      
    }
}

PS: Achja, und warum muss ich column1 zu "static" machen-Gibts da auch ne andere Lösung?
 
Zuletzt bearbeitet von einem Moderator:

JuKu

Top Contributor
Ich dachte bisher auch, es geht um eine Android App...
Was steht denn in der Tabelle drin? Die Noten? Eier? Werde mal bitte konkreter. :D
 

Schlagdraufunschluss_124

Aktives Mitglied
In der Tabelle sollen die Fächer und Noten selbst eingetragen werden. Ich hab schonmal am Anfang die Tabelle halt mit irgendwas befüllt, allerdings ändert sich nichts im Sysout, wenn ich selbe in der Tabelle etwas eingetragen. Sprich es kommt immer der selbe Sysout.
@JStein52 Danke für den Tipp mit der getter-Methode, die Ausgabe an sich funtioniert jetzt.

Java:
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.util.Scanner;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableModel;

public class Tabelle extends JFrame {

    JTable table;

    String column2="g";
    private String column1="f";

    public Tabelle() {

        setLayout(new FlowLayout());

        String[] spaltenName = { "Fach", "Note" };

        String[][] data = { { column1, column2 }, { "hallo", "hallo" }

        };

        table = new JTable(data, spaltenName);
        table.setPreferredScrollableViewportSize(new Dimension(500, 50));
        table.setFillsViewportHeight(true);

        JScrollPane scrollPane = new JScrollPane(table);
        add(scrollPane);

    }

    public static void main (String [] args){
        Tabelle gui = new Tabelle();
        gui.setDefaultCloseOperation(gui.EXIT_ON_CLOSE);
        gui.setVisible(true);
        gui.setSize(600,200);
        while(true)
        System.out.println("Zeile"+gui.getColumn());
       
       
   
   

   
}
    public String getColumn(){
        return column1;
    }
}
 

JStein52

Top Contributor

Schlagdraufunschluss_124

Aktives Mitglied
Ich habe irgendwie immernoch dasselbe Problem:(
Bin ich zu einfach zu blöd oder woran liegt es diesmal..
Ich dachte nämlich mit "getValueAt" greife ich nicht mehr aud das Attribut zu...
Java:
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.util.Scanner;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;

public class Tabelle extends JFrame implements TableModel {

   JTable table;

   private int col = 2;
   private int row = 1;
   private Object name;
   private static Object value;

   String column2 = "g";
   private String column1 = "f";

   public Tabelle() {

       setLayout(new FlowLayout());

       String[] spaltenName = { "Fach", "Note" };

       String[][] data = { { column1, column2 }, { "hallo", "hallo" }

       };

       table = new JTable(data, spaltenName);
       table.setPreferredScrollableViewportSize(new Dimension(500, 50));
       table.setFillsViewportHeight(true);

       JScrollPane scrollPane = new JScrollPane(table);
       add(scrollPane);

   }

   public static void main(String[] args) {
       Tabelle gui = new Tabelle();
       gui.setDefaultCloseOperation(gui.EXIT_ON_CLOSE);
       gui.setVisible(true);
       gui.setSize(600, 200);
       System.out.println("Col"+gui.getColumnCount());
       System.out.println("Row"+gui.getRowCount());
       gui.ausgabe();

   }

   
   public void ausgabe() {

           System.out.println("Value" + name);
   }

   @Override
   public int getColumnCount() {
       return col;
   }


   @Override
   public int getRowCount() {
       return row;
   }

   @Override
   public Object getValueAt(int col, int row) {       // Greife ich hier immer noch auf ein Attribut zu?
       return name;
   }

   
   
   @Override
   public void addTableModelListener(TableModelListener l) {
       // TODO Auto-generated method stub
       
   }

   @Override
   public Class<?> getColumnClass(int columnIndex) {
       // TODO Auto-generated method stub
       return null;
   }

   @Override
   public String getColumnName(int columnIndex) {
       // TODO Auto-generated method stub
       return null;
   }

   @Override
   public boolean isCellEditable(int rowIndex, int columnIndex) {
       // TODO Auto-generated method stub
       return false;
   }

   @Override
   public void removeTableModelListener(TableModelListener l) {
       // TODO Auto-generated method stub
       
   }

   @Override
   public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
       // TODO Auto-generated method stub
       
   }

}
 

mrBrown

Super-Moderator
Mitarbeiter
Ich würde dir stark raten, erstmal auf GUI zu verzichten - da scheinen noch wesentlich Grundlagen zu fehlen.
 

Harry Kane

Top Contributor
Ich habe irgendwie immernoch dasselbe Problem
Was auch immer das genau sein mag...
1. Deine "Tabelle" Klasse ist sowohl ein TableModel als auch ein JFrame bzw. sowohl ein Model als auch eine View. Fang damit gar nicht erst an.
2. Dein Tabelle-Klasse ist zwar ein TableModel, wird aber nie als solches verwendet.
3. Du hast zwei Instanzen von Object, nämlich "name" und "value". Beide werden nirgendwo instanziiert. Was also sollen sie anders sein als null?
Stimme @mrBrown zu: Es fehlt dir noch zu viel Verstehen, um sinnvoll eine Gui anzufangen.
 

Schlagdraufunschluss_124

Aktives Mitglied
Ok, des hab ich jetzt auch eingesehen:D
Ich find halt mit GI machts mehr Spaß...

Also, ich hab nochmal ganz von vorne Angefangen;)
Warum meckert er, dass ich es die Methode bei der Eingabe-Klasse nicht gibt?
Java:
public class Main {

    public static void main(String[]args) {
      
        System.out.println("Fachanzahl: ");
        System.out.println("Anz:"+Eingabe.class.getFachanz());//<- Ich hab doch getFachanz in der EingabeKlasse erstellt
        new Eingabe();
  
      
    }
  
  

}

Java:
import java.util.Scanner;

public class Eingabe {

   public int fachanz;
   String[] fach = new String[fachanz];

   public Eingabe() {

       Scanner scr = new Scanner(System.in);
       fachanz=Integer.parseInt(scr.next());
      

   }
  
   public int getFachanz(){
       return fachanz;
   }

}
 
Zuletzt bearbeitet:

JStein52

Top Contributor
drehe es mal um:
Code:
        Eingabe meineEingabe = new Eingabe();
System.out.println("Fachanzahl: ");
        System.out.println("Anz:"+meineEingabe.getFachanz());//<- Ich hab doch getFachanz in der EingabeKlasse erstellt
getFachanz war ja keine Klassenmethode (static)
 

Harry Kane

Top Contributor
Ich find halt mit GI machts mehr Spaß
Das ist primär auch keine Frage von Gui oder nicht Gui, sondern zunächst die Frage von "planvollem Vorgehen" oder "wildem rumprobieren".
Warum meckert er, dass ich es die Methode bei der Eingabe-Klasse nicht gibt?
Der Rückgabewert von Eingabe.class ist Class, und die Klasse Class hat keine Methode "getFachanz".
Entweder: mache getFachanz statisch und rufe sie über "Eingabe.getFachanz()" (geht, hat aber nix mit OOP zu tun)
oder (besser): Erzeuge eine Instanz von Eingabe() und rufe auf der Instanz "getFachanz()" auf.
 

Schlagdraufunschluss_124

Aktives Mitglied
Cool Danke:D
Es funktioniert!

Java:
public class Main {

    public static void main(String[]args) {
        System.out.println("Fachanzahl: ");
       
        Eingabe eingabe = new Eingabe();
        System.out.println("Anz:"+eingabe.getFachanz());
       
       
       
    }
   
   

}
 

Schlagdraufunschluss_124

Aktives Mitglied
So hallo mal wieder... Ich hab wieder ein Problem:D
Wie kann ich es schaffen, dass nur "Teile" vom Konstruktor aufrufe:
Ich hab nämlich mein Programm in 3 Klasse aufgeteilt: Main, Eingabe und Ausgabe.
Allerdings muss ich die ganze jetzt die ganze Zeit zwischen Ein- und Ausgabe hin-und her "switchen", damit am Ende die Konsolenausgabe stimmt
1. Mach es überhaupt Sinn, so einen Aufwand zu betreiben damit alle Klassen schön "clean" bleiben und sich nichts vermischt?(Ich könnte ja auch meine Ausgabeklasse wegwerfen und die Ausgabe zur EingabeKlasse hinzufügen)
2. Wenn es doch Sinn machen sollte, wie kann ich es dann lösen, dass nicht immer der ganze Konstrukor von z.B der EingabeKlasse aufgerufen wird, sodass meine Sysouts überhaupt nicht mehr stimmen?

Die Main:
Java:
public class Main {

    public static void main(String[]args) {
        new Ausgabe();
    }
}
Die Eingabe:
Java:
import java.util.Scanner;

public class Eingabe {

    Scanner scr;
    Eingabe ver;
    public boolean goOn;
    public int fachanz;
    String fach[];
  

    public Eingabe() {
        scr = new Scanner(System.in);
        fachanz = Integer.parseInt(scr.next());
      
        String fach[]= new String[fachanz];
        for(int i=0; i<fachanz;i++){
            fach[i]= scr.next();
            System.out.println("Fachbelegung: "+fach[i]);
        }
    }

    public int getFachanz() {
        return this.fachanz;
    }
}
Die Ausgabe:
Java:
public class Ausgabe {

   public Ausgabe() {
      
       System.out.println("Fachanzahl: ");
      
       Eingabe eingabe = new Eingabe(); // Hier wird ja ein neues Objekt erstellt und wenn ich es richtig verstanden habe ruft das Programm jetzt den Konstruktor von der Eingabe Klasse auf, arbeitet diesen ab und erst wenn er fertig ist, macht er wieder mit der Ausgabe Klasse weiter, wobei glaube ich der Fehler liegt
       System.out.println("Anz:"+eingabe.getFachanz());
       System.out.println("Fächer:");      
   }
}
Meine bisherige Konsolenausgabe:
Java:
Fachanzahl:
1//<- Hier sollte eigentlich jetzt"Anz:1" kommen
Informatik//<- Hier sollte erstmal "Fächer" kommen, damit der User weiß was er überhaupt eingeben soll.
Fachbelegung: Informatik
Anz:1
Fächer:
 

mrBrown

Super-Moderator
Mitarbeiter
1. Ja, kann Sinn machen.

2. sowas gehört nicht in den Konstruktor, der soll nur das Objekt erstellen, und auf dem rufst du dann entsprechende Methoden auf ;)
 

JStein52

Top Contributor
Mach es überhaupt Sinn, so einen Aufwand zu betreiben damit ...
Aber in der Form wie du es hier hast macht es keinen Sinn. Die Prompts für die Eingabe gehören auf jeden Fall ein die Eingabeklasse.
Wenn du schon aufteilen willst dann alles was mit dem Einlesen von Daten zu tun hat in einer Klasse/Methode, alles was mit dem Ausgeben der Ergebnisse zu tun hat in eine andere Klasse/Methode.
 

Schlagdraufunschluss_124

Aktives Mitglied
Ok, etwa so?
Java:
import java.util.Scanner;

public class Eingabe {

    Scanner scr;
    Eingabe string;
    public boolean goOn;
    public int fachanz;
    String fach[];
   

    public Eingabe() {
   
        }

    public int getFachanz() {
        return this.fachanz;
    }
   
    public int fachanz(){
        scr = new Scanner(System.in);
        fachanz = Integer.parseInt(scr.next());
        return fachanz;
    }
   
    public void StringFilling(){
        int i;
        String fach[]= new String[getFachanz()];
        for(i=0; i<fachanz;i++){
            fach[i]= scr.next();
        }
        for (i=0;i<fachanz;i++){
            System.out.println("Fachbelegung:"+ fach[i]);
        }
    }


}

PS: Wie bekomme den Rückgabetyp für den String fach[] hin?
denn wenn ich es so mache:
Java:
    public String[] StringFilling(){
        int i;
        String fach[]= new String[getFachanz()];
        for(i=0; i<fachanz;i++){
            fach[i]= scr.next();
        }
        for (i=0;i<fachanz;i++){
            System.out.println("Fachbelegung:"+ fach[i]);
        }
        return fach[];
    }


}
dann gits einen Error(
Multiple markers at this line
- Class<fach[]> cannot be resolved to a type
- fach cannot be resolved to a type
- Syntax error, insert ". class" to complete
Expression
). So hab ich's aber im Internet gelesen - Liegt also mein Fehler?
 

Schlagdraufunschluss_124

Aktives Mitglied
Also ich habs jetzt nochmal umstrukturiert:
Java:
import java.util.Scanner;

public class Eingabe {

    Scanner scr;
    Eingabe string;
    public boolean goOn;
    public int fachanz;
    String fach[];

    public Eingabe() {

    }

    public void fachanz() {
        System.out.println("Fachanzahl: ");
        scr = new Scanner(System.in);
        fachanz = Integer.parseInt(scr.next());
    }

    public String[] StringFilling() {
        System.out.println("Fächer:");
        String fach[] = new String[getFachanz()];
        return fach;
    }

    public String[] getFach() {
        return this.fach;

    }

    public int getFachanz() {
        return this.fachanz;
    }

}
Java:
public class Ausgabe {

    public Ausgabe() {
        Eingabe eingabe = new Eingabe();
        eingabe.fachanz();
        System.out.println("Anz:" + eingabe.getFachanz());
        eingabe.StringFilling();
        for (String i: eingabe.getFach()) {
            System.out.println("Fachbelegung:" + i);
        }

    }

}
Wie kann ich jetzt allerdings das Array ausgeben lassen? Wenn ich so wie oben mache, dann wirft es eine Exception.
PS: Danke für die bisherigen Antworten. Verstehe jetzt einiges mehr:D
 

Schlagdraufunschluss_124

Aktives Mitglied
Ja ok, aber wenn ich es einfach "extern" anlege, dann gibts eine IndexOfBoundsException, was daran liegt, dass zu dem Zeitpunkt wo meine Eingabeklasse aufgerufen wird fachanz noch kein wert "besitz".
 

mrBrown

Super-Moderator
Mitarbeiter
Deutlich einfacher machst du es dir, wenn Eingabe keine Instanzvariablen hat, sondern die alle nur Lokal sind ;)
 

Schlagdraufunschluss_124

Aktives Mitglied
Mmh, du meinst also ich soll alle Vars in den einzelnen Methoden deklarieren?
Dann bekomm ich ja aber Probleme mit meiner "fachanz" und mit meinem Stringarray "fach". Oder soll ich des dann einfach in der anderen Methode nochmal anlegen?
 

mrBrown

Super-Moderator
Mitarbeiter
Du kannst die Methoden, die einlesen, einfach die entsprechenden Dinge zurückgeben lassen, wie es deine StringFilling auch schon macht.
Die Getter sind in dem Fall überflüssig
 

mrBrown

Super-Moderator
Mitarbeiter
Welchen "Rattenschwanz"?
Entweder du willst es einlesen - dann über die Funktion, oder eben nicht.
Es spricht nichts dagegen, das eingelesene in deiner anderen Klasse zu speichern ;)
 

Schlagdraufunschluss_124

Aktives Mitglied
Mit Rattenschwanz meinte ich eigentlich, dass wenn ich die methode nochmals aufrufen würde, würden ja alle sysouts und Deklarationen usw. mitkommen obwohl ich ja nur das Ergebnis will.
Es spricht nichts dagegen, das eingelesene in deiner anderen Klasse zu speichern ;)
Das habe ich gemacht - dadurch funktioniert die AusgabeKlasse prima, aber für meine Eingabe trifft das doch nicht zu. Es würde ja keinen Sinn machen, wenn ich alle Variablen lokal in die einzelnen Methoden verfrachte, sie dann aber wieder versuch aufzurufen und in den anderen Methoden wieder abzuspeichern- Soll ich deshalb meine Vars nicht doch "extern" anlegen?
Ich hab nämlich folgendes Problem. In meiner neuen Methode HauptfachFilling(schaut, ob die eingegeben Fächer Neben oder Hauptfächer sind-> wichtig für die spätere Notengewichtung) will ich auf mein Stringarray "fach" zugreifen, allerdings kennt HauptfachFilling diese Var natürlich nicht - Wie soll ich vorgehen?
 

mrBrown

Super-Moderator
Mitarbeiter
Mit einer Klasse, die "Daten" deines Programms enthält - Daten sind ja weder Teil der Aus-, noch der Eingabe.
Die Ein und Ausgabe kann dann auf die Daten zugreifen.

z.B. mit einer Klasse Fächer, die eine Liste (oder Array) der Haupt- und Nebenfächern enthält.
 

Schlagdraufunschluss_124

Aktives Mitglied
Ok, den Kern deiner Aussage hab ich eigentlich verstanden. Ich bin jetzt so vorgegangen:
meine Main ruft die Ausg.Klasse auf. Die Erstellt im Konstrukor eine Instanz von der DatenKlasse - Hier will eigentlich die Daten der Eingabe Klasse speichern und per GetterMethode "verfügbar" machen. Die DatenKlasse erstellt im Konstruktor dann wieder eine Instanz, die auf die EingabeKlasse verweist, aber um in der Eingabe Klasse auf die Daten der DatenKlasse zugreifen zu können, muss ich ja wieder eine Instanz in der Eingabe Klasse erstellen, was ja bedeuten würde, dass der Konstruktor der DatenKlasse 2mal aufgerufen wird- Wo liegt also jetzt mein Fehler?:(:D
 

Schlagdraufunschluss_124

Aktives Mitglied
Weißt du warum es jetzt eine NullPointerExcetption bei Zeile 23 wirft?
Java:
import java.util.Scanner;

public class Eingabe {
    Daten daten;

    public Eingabe(Daten daten) {
        this.daten=daten;

    }

    public int fachanz() {
        int fachanz;
        Scanner scr;
        System.out.println("Fachanzahl: ");
        scr = new Scanner(System.in);
        fachanz = Integer.parseInt(scr.next());
        return fachanz;
    }

    public String[] StringFilling() {
        int i;
        Scanner scr;
        String fach[] = new String[daten.getFachanz()]; //<- NullPointerException
        scr = new Scanner(System.in);

        System.out.println("Fächer:");
        for (i = 0; i < daten.getFachanz(); i++) {
            fach[i] = scr.next();
        }
        return fach;
    }

    public boolean[] hauptFachFilling() {
        int temp = 0;
        int hauptfachanz = 5;
        String hauptfachYN;
        boolean hauptfach[] = new boolean[daten.getFachanz()];
        Scanner scr = new Scanner(System.in);
        for (int i = 0; i < daten.getFachanz(); i++) {
            System.out.println(daten.getFach() + " -> Hauptfach (ja/nein)?: ");
            hauptfachYN = scr.next();
            if (hauptfachYN.equals("ja")) {
                hauptfach[i] = true;
                temp++;
                if (temp == hauptfachanz) {
                    return hauptfach;
                }
            } else if (hauptfachYN.equals("nein")) {
                hauptfach[i] = false;
            } else {
                System.out.println("Falsche Eingabe. Programm wurde beendet!");
                System.exit(0);
            }
        }
        return hauptfach;

    }

}

PS: Es hat anscheinend irgendwas mit getFachanz() zu tun....o_O
 

Robat

Top Contributor
Liegt daran, dass deine Variable daten null ist und du versuchst darüber eine Methode aufzurufen. Wie rufst du denn den Konstruktor der Klasse Eingabe auf? Ist dort das Daten - Objekt (welches du dem Konstruktor übergibst) initialisiert?
 

Schlagdraufunschluss_124

Aktives Mitglied
Wenn du noch verrätst, was Zeile 23 ist ;)
Oh sorry, ich dachte ich hätte es markiert:oops:
Zeile 23 ist in der StringFilling- methode : "String fach[] = new String[daten.getFachanz()];", dort wo, wie @Robat schon gesagt hat, das erste mal die Instanz Daten "ins Spiel" kommt.

@Robat: Ich rufe den Konstruktor in der DatenKlasse so auf:

Java:
public class Daten {
   Daten daten;
   int fachanz;
   String fach[];
   boolean[] hauptfach;

   public Daten() {
   
       //Instanz auf Eingabe
       Eingabe eingabe = new Eingabe(daten);
   
       //Fachanzahl
       fachanz=eingabe.fachanz();
       getFachanz();
   
       //StringFilling
       String fach[] = new String[fachanz];
       fach = eingabe.StringFilling();
   
       //HauptfachFilling
       boolean[] hauptfach = eingabe.hauptFachFilling();
   }
   public int getFachanz(){
       System.out.println("Daten.fachanz"+fachanz);
       return fachanz;
   }
   public String []getFach(){
       return fach;
   }
   public boolean[] getHauptfach(){
       return hauptfach;
   }

}


Edit: Oh, ich hab die Zeile doch markiert:) Und ich hab gerade gemerkt, dass es noch nicht initialisiert wurde-> Mit was muss ichs denn initialisieren?
Edit2: Ich habs jetzt mal so initialisiert:
Java:
public class Daten {
    Daten daten;
    int fachanz;
    String fach[];
    boolean[] hauptfach;

    public Daten(Daten daten) {
        this.daten = daten;
        //Instanz auf Eingabe
        Eingabe eingabe = new Eingabe(daten);
      
        //Fachanzahl
        fachanz=eingabe.fachanz();
        getFachanz();
      
        //StringFilling
        String fach[] = new String[fachanz];
        fach = eingabe.StringFilling();
      
        //HauptfachFilling
        boolean[] hauptfach = eingabe.hauptFachFilling();
    }

Aber was soll ich jetzt eigentlich in der Main dem Konstruktor von Eingabe übergeben? Ich hab doch dort schon eine Instanz von Daten erstellt:
Java:
public class Main {
  
    public static void main(String[]args) {
        Daten daten = new Daten();                       
    }
    }

Ich kann wohl nicht der Instanz "daten" ja nicht die Instanz "daten" mitgeben...
 
Zuletzt bearbeitet:

JStein52

Top Contributor
Vermutlich so:
Code:
public class Daten {
int fachanz;
String fach[];
boolean[] hauptfach;

public Daten() {

//Instanz auf Eingabe
Eingabe eingabe = new Eingabe(this);
.
.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
Karl_Der_Nette_Anfänger Hat wer ne Lösung für verknüpfte Postleitzahlen? (Baum/Wurzel Struktur) Allgemeine Java-Themen 11
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
G KeyListener für JTextField Allgemeine Java-Themen 5
webracer999 Library für Textsuche (z. B. include/exclude, and/or)? Allgemeine Java-Themen 5
I Module-Info für Jar erzeugen Allgemeine Java-Themen 7
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
B Simpler Eventlistener für Tastaturtaste bauen? Allgemeine Java-Themen 13
_user_q Eingegebenen Text Zeile für Zeile ausgeben lassen Allgemeine Java-Themen 11
E Key für TOTP Algorythmus(Google Authentificator) Allgemeine Java-Themen 0
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
R Best Practice Erfahrungswerte für eine Migration von JSF nach Angular (oder anderes JS-Framework) Allgemeine Java-Themen 1
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
jhCDtGVjcZGcfzug Klassen Was genau passiert hier? Kann mir das jemand bitte Zeile für Zeile erklären? Allgemeine Java-Themen 1
rosima26 Bester Sortieralgorithmus für kurze Arrays Allgemeine Java-Themen 40
S Mit Methoden kann man definieren für was <T> steht. Geht das auch irgendwie für Variablen? Allgemeine Java-Themen 12
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
B Lottospiel, genug Reihen tippen für 3 Richtige (Spaß mit Arrays)? Allgemeine Java-Themen 46
B Mit welchen Datentypen und Strukturierung am Besten dutzende Baccaratspiele Shcritt für Schritt durchsimulieren? Allgemeine Java-Themen 26
D Klassendesign für einen Pascal Interpreter Allgemeine Java-Themen 6
I OCR Library für Belegerkennung Allgemeine Java-Themen 7
farah GetterMathod für Farbkanäle Allgemeine Java-Themen 6
B Welcher Datentyp für sehr große Zahlenbereiche? Allgemeine Java-Themen 1
S Webservices für binäre Daten? Allgemeine Java-Themen 5
G Licence-Header für InHouse entwickelten Source Allgemeine Java-Themen 8
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
O git ignore für Intellji braucht es die .idea Dateien? Allgemeine Java-Themen 8
F Java Script für das Vorhaben das richtige? Allgemeine Java-Themen 9
M wiviel Java muss ich für die Berufswelt können ? Allgemeine Java-Themen 5
Robertop Datumsformat für GB ab Java 16 Allgemeine Java-Themen 1
Thallius Verschiedene entities für gleichen Code…. Allgemeine Java-Themen 8
OnDemand Zentrale "Drehscheibe" für verschiedene APIs Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
D SHA-3 für Java-version 1.8 Allgemeine Java-Themen 1
N Validator für einen SQL-Befehl Allgemeine Java-Themen 22
Muatasem Hammud Erstellung von Testdaten für Arrays Allgemeine Java-Themen 6
B Logikfehlersuche, das perfekte Lottosystem für 3 Richtige mit Arraylists? Allgemeine Java-Themen 61
G Methoden für die Zukunft sinnvoll? Allgemeine Java-Themen 4
M API für PLZ Umkreissuche Allgemeine Java-Themen 3
1Spinne JDK 8 für Eclipse installieren Allgemeine Java-Themen 5
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
L Methoden Parser für gängige Datumsformate? Allgemeine Java-Themen 1
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10
N relativier Pfad für sqlite-Datenbank in Gradle/IntelliJ Allgemeine Java-Themen 2
buchfrau Anagram für beliebiges Wort Allgemeine Java-Themen 2
TonioTec Api für Datenaustausch zwischen Client und Server Allgemeine Java-Themen 0
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
Kirby.exe Distanz Map für die Distanztransformation erstellen Allgemeine Java-Themen 1
F PI Regler für Heizung Allgemeine Java-Themen 7
8u3631984 Generelle Log4j.xml für alle Module Allgemeine Java-Themen 5
M Wie übergebe ich den Zähler für die Anzahl Rekursionsschritte korrekt? Allgemeine Java-Themen 2
B Login für User, der im Hintergrund Schedules ausführt Allgemeine Java-Themen 16
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
S Java-Task-Management-Tool für Windows und Mac selber programmieren Allgemeine Java-Themen 4
M Java 2D Array für ein Grid erstellen ? Allgemeine Java-Themen 2
Z Welches GUI Framework für Java ist aktuell? Allgemeine Java-Themen 16
N Convert.FromBase64 von C# für Java Allgemeine Java-Themen 11
N fixed-keyword von C# für Java Allgemeine Java-Themen 6
O Suche Scripter für alt:V Project! Allgemeine Java-Themen 0
S Interface Design von HookUp oder Callback Methoden für eigenes Framework Allgemeine Java-Themen 9
O Suche Unterstützung für ein OpenSource-Projekt (grafischer Editor) Allgemeine Java-Themen 13
Kirby.exe Software für Graphische Visualisierung Allgemeine Java-Themen 20
B OOP Auslöser für NullPointerException Allgemeine Java-Themen 3
L Generator für einen Parser implementieren Allgemeine Java-Themen 13
DonMalte Ambitioniertes Projekt für Einsteiger & Motivierte Allgemeine Java-Themen 0
Kirby.exe Movement System für Spiel Allgemeine Java-Themen 13
Kirby.exe Framework für Game Design Allgemeine Java-Themen 8
W Alternative für Threads Allgemeine Java-Themen 6
S Rückgabe einer HttpURLConnection für eine Seite einlesen bei der man eingeloggt ist..? Allgemeine Java-Themen 5
Elyt Compiler-Fehler Datei kann nicht erstellt werden. Die Syntax für den Dateinamen etc. ist falsch. Allgemeine Java-Themen 2
Thallius Rätsel für Windows Profis Allgemeine Java-Themen 8
D OOP Gemeinsamen ID-Raum für zwei Klassen implementieren Allgemeine Java-Themen 7
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
Thallius Alternative für SwingWorker Allgemeine Java-Themen 5
I Lohnt sich heutzutage der Aufwand einer Portierung für MacOS Allgemeine Java-Themen 8
L Klassen Algorithmus für das folgende Problem entwickeln? Allgemeine Java-Themen 30
J Datenstruktur für eine Map erstellen Allgemeine Java-Themen 2
H OOP Setting(config) für Applikation sicheren? Allgemeine Java-Themen 9
OnDemand PDF Libary für Formulare Allgemeine Java-Themen 7
S Warmup für Lineare-Suche mit Zeitmessung Allgemeine Java-Themen 2
T Allgemeine Frage: GUI für 3D-Visualisierung Allgemeine Java-Themen 5
M Brainstorming für mein Projekt Allgemeine Java-Themen 30
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
F Was ist der Dateityp meines Parameters für die Main Methode. Allgemeine Java-Themen 6
C Bibliotheken für Algorithmische Geometrie Allgemeine Java-Themen 2
C Daten für Klassifikationsverfahren gewinnen Allgemeine Java-Themen 6
C code oder Bibliotheken für 2-Center Problem Allgemeine Java-Themen 4
I Overlay für Spiele Allgemeine Java-Themen 5
B Suche nach einem Testprogramm für meine BA Allgemeine Java-Themen 0
I GUI für kleine Pop-Ups unter Windows Allgemeine Java-Themen 1
A NetBeans Suche Programmierer für eine Belegarbeit Allgemeine Java-Themen 11
HarleyDavidson Best Practice Wohin mit der Konfigurationsdatei für Desktopapplikationen? Allgemeine Java-Themen 3
R MAC-Adresse eindeutig für einen PC ? Bezug zu Netzwerk, wieso ? Allgemeine Java-Themen 7
N Java API für CardDav und CalDav gesucht Allgemeine Java-Themen 4
R Idee für Methodenrumpf Allgemeine Java-Themen 5
O Suche größeres Beispiel für WebserverAnwendung mit Java Allgemeine Java-Themen 2
K Anregungen für Bilderanalyse in Java Allgemeine Java-Themen 1
J Countdown für Datum und Uhrzeit Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben