Ciao a tutti,
io questi linguaggi ad oggetto non riesco a inquadrarli.Passiamo al codice:
Ho evidenziato in verde l'errore e in rosso il punto nel file che da problemi e la posizione a cui fa riferimento.codice:import java.io.*; public class xmlGenerator{ // variabili public String jobPrecedente=""; public int copie=0; public int errori=0; public String StartTime = ""; public String EndTime = ""; public xmlGenerator (String job,int cop,int errori, String start, String fine){ .... } public xmlGenerator (){ jobPrecedente=""; copie=0; errori=0; StartTime =""; EndTime =""; } // metodi SET public void setCopie (){ copie++; } public void setErrori (){........} public void setJobPrecedente (String job){ jobPrecedente = job; } public void setStartTime(String start){StartTime = start;} public void setEndTime (String fine){EndTime = fine;} public void resetCopieErrori(){ copie = 0; errori = 0; } // Metodi GET public String getJobPrecedente(){return jobPrecedente; } public String getStartTime(){return StartTime;} public String getEndTime(){return EndTime;} public int getCopie(){return copie;} public int getErrori(){ return errori;} public static void main (String args[]) { xmlGenerator q = new xmlGenerator(); try{ ... // FILE XML SU CUI ANDREMO A SCRIVERE SOLO LE INFO NECESSARIE: File f3=new File("Statistics\\output.xml"); FileOutputStream fos3=new FileOutputStream(f3); PrintStream ps3=new PrintStream(fos3); // FILE TXT DA CUI LEGGIAMO LE INFORMAZIONI: File f1=new File("Statistics\\input.txt"); FileInputStream fis=new FileInputStream(f1); InputStreamReader isr=new InputStreamReader(fis); BufferedReader br=new BufferedReader (isr); String linea=br.readLine(); linea=br.readLine(); String [] intestazione = new String [26]; initMatrice(intestazione); .... scriviHeader(ps3); // Iterazione x leggere intero file while (linea != null) { .... // Iterazione x leggere intera riga for(int i=0;i<linea.length();i++){ .... } // chiude ciclo FOR scriviXmlJobUnici(q,intestazione,ps3); //error: non-static method scriviXmlJobUnici(xmlGenerator,String[],PrintStream) cannot be referenced from a static context .... } // chiude ciclo WHILE .... scriviFooter(ps3); ps3.close(); ps.close(); .... }catch (IOException e){ System.out.println("Errore: " +e); System.exit(1); } } ...... // Metodo x scrivere il file xml con i dati static void scriviChildXmlDati (PrintStream ps, int conta, String intestazione){.......... } // Metodo per scrivere un file xml con i Job unici, le copie di ognuno e gli errori di stampa public void scriviXmlJobUnici(xmlGenerator qq, String [] intestazione, PrintStream ps3) { if (getJobPrecedente() == ""){ // con jobPrecendente = "" siamo alla prima iterazione delle prima riga qq.setJobPrecedente(intestazione[0].substring(0,(intestazione[0].length()-11))); qq.setStartTime(intestazione[19]); qq.setEndTime(intestazione[20]); // PrintDone = 0 if (intestazione[5]=="0"){ qq.setErrori();} else { qq.setCopie();} scriviFileJobUnici(ps3,qq); } else{ if (qq.getJobPrecedente() == intestazione[0].substring(0,(intestazione[0].length()-11))){ qq.setEndTime(intestazione[20]); if (intestazione[5]=="0") qq.setErrori(); else qq.setCopie(); } else{ scriviFileJobUnici(ps3,qq); qq.resetCopieErrori(); qq.setJobPrecedente(intestazione[0].substring(0,(intestazione[0].length()-11))); qq.setStartTime(intestazione[19]); qq.setEndTime(intestazione[20]); // PrintDone = 0 if (intestazione[5]=="0"){ qq.setErrori();} else { qq.setCopie();} } } } void scriviFileJobUnici(PrintStream ps3,xmlGenerator qqq){ ps3.println ("\t\t<job id=\"0\">" + qqq.getJobPrecedente() + "</job>"); ps3.println ("\t\t<copie id=\"1\">" + qqq.getCopie() + "</copie>"); ps3.println ("\t\t<errori id=\"2\">" + qqq.getErrori() + "</errori>"); ps3.println ("\t\t<inizio id=\"3\">" + qqq.getStartTime() + "</inizio>"); ps3.println ("\t\t<fine id=\"4\">" + qqq.getEndTime() + "</fine>"); } }
Beh il bello è che non riesco a capire come potrei accedere a quelle variabili subito all'inizio della classe. Ho dovuto ridurre il codice sostituendolo con ......
Grazie

Passiamo al codice:
Rispondi quotando

