NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode

jan21

Mitglied
Hallo zusammen
Ich bringe mir gerade Programmieren bei und Schreibe an einem Programm welches vom Nutzer Namen über ein Textfeld entgegennimmt . Diese werden in einem Array gespeichert dessen Länge am Anfang des Programms durch den Nutzer festgelegt wird. Nun soll durch drücken eines Buttons eine Methode aufgerufen werden die als erstes das Array Klont und dann denn Inhalt des klons mischt und so zuffälige Gruppen erzeugt .
Allerdings wird mir beim aufrufen der Methode und beim Klonen des Arrays eine Null Pointer Exception angezeigt und ich weis nicht wie ich diese behebe.

Hier die Methode in der da ursprungs Array erzeugt wird und die Methode zum erzeugen der Gruppen aufgerufen wird in etwas gekürzt:
Java:
    static String [] names ;
    static String [] names2; // Der klon von names
     static int i;
     static int l1;

public static void main(String[] args) {
    
            JFrame F1 = new JFrame () ;
        F1.setSize(1000, 900);
        F1.setLayout(new FlowLayout());
    
     NeueListe = new JButton ("Länge bestätigen");
         Listenlänge = new JTextField ("Länge der Liste");
    
    ActionListener al = new ActionListener () {
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
            if (e.getSource()==NeueListe)
        {
        
            String l = Listenlänge.getText();
            try {
             l1 = Integer.parseInt(l);       
            }
            catch (NumberFormatException ex)
            {
                 JOptionPane.showMessageDialog(null,
                            "Nur Zahlen sind gültige Längen",
                            "Fehler",                         
        JOptionPane.WARNING_MESSAGE);
            }

         names = new String [l1];
        
        
        F1.add(Anzeige);
        F1.add(Name);
        F1.add(Speichern);
        F1.add(Show);
        F1.add(Bearbeiten);
        F1.add(gruppen);
         F1.remove(Listenlänge);
         F1.remove(NeueListe);
          F1.revalidate();
        }
                if (e.getSource() == gruppen ) {
           new Groups(); // Hier wird eine NullPointerException ausgegeben
        }
    }
};
        
   F1.add(NeueListe);
   F1.add(Listenlänge);
   F1.setVisible(true);
    }

Hier der abschnitt der Methode zum erstellen der Gruppen in dem das Array geklont werden soll:
Java:
Groups ()
  {
        
        JButton newGroup;
        JLabel team1;
        JLabel team2;
        
        names=names2.clone(); // Hier wird eine NullPointerException ausgegeben
 
wenn names2 der clone von names sein soll, dann musst Du aber names2 = names.clone(); aufrufen.

Also dem bestehenden names sagst du "clone" dich mal. Und das Ergebnis, das zurück kommt, speicherst du in names2.
 

Zurück
Oben