Ho provato a sistemarlo ma ancora mi da errori...dove sbaglio???,un altra cosa ma per eseguire questo programma mi basterà compilare il main quando non mi darà piu errori?...scusate questa domanda che puo apparire banale...
codice:Rubrica1 public class Rubrica1 { String cognome; String nome; String telefono; boolean flag=false; Rubrica1()//costr snz paramentri { } Rubrica1(String nome,String cognome,String telefono) { this.nome=nome; this.cognome=cognome; this.telefono=telefono; flag=true; } public String getNome() { return nome; } public String getCognome() { return cognome; } public String getTelefono() { return telefono; } public boolean getFlag() { return flag; } public static boolean controllanome(String no) { return no.matches("[AZ] [a-zA-Z]*"); } public static boolean controllacognome(String co) { return co.matches("[a-zA-Z]+(['-][a-zA-Z]+)+"); } public static boolean controllatelefono(String te) { return te.matches("\\d{10}"); } }import java.util.*; import java.io.*; public class RubricaTestc { static Rubrica1 array[]= new Rubrica1 [100]; static Scanner input=new Scanner(System.in); static int pos=0; static boolean entra=false; static String buffer; static String nome; static String cognome; static String telefono; public static void main (String args[]) { for(int i=0;i<array.length;i++) { array[i]=new Rubrica1(); } elenconum(); stampa(); inizio(); for(int r=0;r<array.length;r++) // visualizza il contenuto dell'array { System.out.println(array[r].getCognome()+" "+array[r].getNome()+" "+array[r].getTelefono()); } } public static void elenconum() //metodo lettura file { try { FileReader file = new FileReader("elenco.txt"); BufferedReader in = new BufferedReader(file); buffer=in.readLine(); for(int i=0; i<array.length;i++) System.out.println(array[i].nome + array[i].cognome + array[i].telefono + "\n"); } catch(IOException e) { e.printStackTrace();}// indica la riga dove si e generata l'eccezione System.out.println("caricamento numeri eseguito con successo\n"); } public static void inizio() { while (!entra) { System.out.printf("Digita 1 per creare un nuovo contatto,2per trovare un contatto,3per uscire dalla Rubrica"); int scelta =input.nextInt(); while( scelta>3 || scelta <1) { System.out.printf("Hai inserito un numero non valido"); scelta=input.nextInt(); switch(scelta) { case 1: System.out.printf("Inserire il nome del contatto desiderato:\n"); String no=input.nextLine(); System.out.printf("Inserire il cognome del contatto desiderato:\n"); String co=input.nextLine(); System.out.printf("Inserire il numero di telefono del contatto desiderato:\n"); String te=input.nextLine(); //da cont System.out.printf("\nInserimento in corso....\n"); if (!Rubrica1.controllanome(no)) System.out.println("Nome non corretto o troppo lungo"); else if (!Rubrica1.controllacognome(co)) System.out.println("Cognome non corretto o troppo lungo"); else if (!Rubrica1.controllatelefono(te)) System.out.println("Cognome non corretto o troppo lungo"); array[pos]=new Rubrica1(no,co,te); if(pos<=99) pos++; break; case 2: System.out.printf("Inserisci il nome del contatto da cercare"); String nom=input.nextLine(); for (int i=0; i<array.length; i++) if (array[i].getFlag && array[i].nome.equals(nom))//mi da errore ma xke voglio che mi confronti il nome salvato cn il nome inserito se flag è false System.out.printf("I dati del contatto sono"+ array[i].nome + array[i].cognome + array[i].telefono + "\n" ); else System.out.printf("Il contatto non è presente nella rubrica"); break; case 3: entra=true; System.exit(1); break; } } } } public static void stampa() { try { FileWriter fileout =new FileWriter ("elenco.txt"); Printwriter out=new Printwriter (fileout);//errore cannot find symbol System.out.println("Inserisci il nome sul file"); String f=input.nextLine();//out print(f);no?//non mi da errore.. for(int i=0; i<array.length;i++) out.println(array[i].nome + array[i].cognome + array[i].telefono + "\n"); } catch(IOException e) { System.out.println("Errore" + e); } finally { out.close();//variabile out..cannot find symbol } } }

Rispondi quotando