ho impostato bene tutto il codice ti mando solo il main perchè mi da soltanto un errore nella riga 88
l'errore che mi da è questo
codice:Errore RubricaTestc.java:88: cannot find symbol symbol : variable getFlag location: class Rubricaa if (array[i].getFlag && array[i].nome.equals(nom))Grazie!!!!codice:Codice completo import java.util.*; import java.io.*; import java.io.PrintWriter; public class RubricaTestc { static Rubricaa array[]= new Rubricaa [100]; static Scanner input=new Scanner(System.in); static int posizione=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 Rubricaa(); } 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].getCognome()+"" + array[i].getNome()+"" + array[i].getTelefono() +""+ "\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(); for(int i=0; i<array.length;i++) { System.out.println(array[i].getNome()+ " " + array[i].getCognome()+ " " + array[i].getTelefono() + "\n"); } System.out.printf("\nInserimento in corso....\n"); if (!Rubricaa.controllanome(no)) System.out.println("Nome non corretto o troppo lungo"); else if (!Rubricaa.controllacognome(co)) System.out.println("Cognome non corretto o troppo lungo"); else if (!Rubricaa.controllatelefono(te)) System.out.println("Cognome non corretto o troppo lungo"); array[posizione] = new Rubricaa(no,co,te); if(posizione<=99) posizione++; 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].getNome()+"" + array[i].getCognome() +""+array[i].getTelefono()+ "\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); for(int i=0; i<array.length;i++) { out.print(array[i].getNome()+"" + array[i].getCognome() +""+ array[i].getTelefono() + "\n"); out.println(); } out.close(); } catch(IOException e) { System.out.println("Errore IOException nel metodo stampa " ); } } }

Rispondi quotando