Telefonbuch

Hey Leute,

ich habe mal wieder eine Frage. Ich bastel grade ein Telefonbuch. Das anzeigen der Einträge, das Speichern und erweitern funktioniert bisher gut. Ich habe an dem Punkt ein Problem, wo ich ein Telefonbuch aus einer TXT Datei laden möchte. Unter dem Punkt

else if (s.equals("laden"))

seht ihr das Problem. Eclipse sagt mir "Duplicate local variable list". Ich habe list also zweimal vergeben? Das soll ja aber auch so sein. Ich möchte ja, dass die TXT Datei meine Arraylist überschreibt und ich im Programm damit dann weiterarbeiten kann. Wäre sehr nett, wenn mir jemand hier helfen kann. Was muss ich ändern?

Code:
import java.util.*;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

public class Telefonliste {

   public static void main(String[] args) {
       
       List<String> list = new ArrayList<String>();
       
       boolean run = true; //Schleife um ins Hauptmenü zu kommen
       while (run) {       //
       
       System.out.println("Möchten Sie das Telefonbuch <anzeigen>, einen <Eintrag> hinzufügen, das Telefonbuch <speichern> oder aus einer Datei <laden>?");
       
       Scanner input = new Scanner(System.in);
       String s = input.next();
       
       if(s.equals("anzeigen"))
           
           for (String b : list) {
               System.out.println(b);
               }
       
       else if (s.equals("Eintrag"))
               {
               System.out.println("Name und Nummer eingeben:");
               input.nextLine();
               String a = input.nextLine();
               list.add(a);
               }
       
       else if (s.equals("laden"))
               {
               Scanner sc = new Scanner(new File("c:\\Telefonbuch.txt"));
               ArrayList<String> list = new ArrayList<String>();
               while (sc.hasNext()){
               list.add(sc.next());
               }
               sc.close();
               }
       
       else if (s.equals("speichern"))
       {
           
           try {
               System.out.println("Datei wurde unter C:\\Telefonbuch.txt gespeichert!");

               File file = new File("c:/Telefonbuch.txt");
       
                // Wenn Datei nicht vorhanden erstellen
                if (!file.exists()) {
                   file.createNewFile();
                }
       
                FileWriter fw = new FileWriter(file.getAbsoluteFile());
                BufferedWriter bw = new BufferedWriter(fw);
                           
                for (String str : list) {
                    bw.write(str);
                    bw.newLine();
                }
                bw.close();
       
             } catch (IOException e) {
                e.printStackTrace();
             }
       }
       
       else {System.out.println("Bitte den Menüpunkt korrekt schreiben!");}
           
       }
   }
}
 

Ähnliche Java Themen

Neue Themen


Oben