Fehler bei Array und BufferReader

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Der Kompiler meldet einen Fehler für die Zeilen 13 und 24...

Can not not find class symbol string, new string[7]
Can not find variable in1.



Code:
import java.io.*; 

public class AfiRead4 { 
// Main
public static void main(String[] args) { 
AfiRead4 dl = new AfiRead4();
PrtDet(); 
} 


  // Load Records in Array
  public AfiRead4() { 
  String ArrayInno[] = new string [7]; 
  String satz1;
  int idx = 1;
  
  try { 
      BufferedReader in1 = new BufferedReader(new FileReader("VendingMachines.txt")); 
      }
      catch(FileNotFoundException fnfe) { 
      System.out.println("Datei VendingMachines.txt nicht gefunden!"); 
      } 
      
      while((satz1 = in1.readLine()) != null)  
      {   
      try { 
        ArrayInno[idx] = satz1.substring(1,6);
        System.out.println("Array: " + ArrayInno[idx]);   
        }
        catch(StringIndexOutOfBoundsException s) { 
        System.out.println("Fehler bei SubString! Array..." + satz1); 
        } 
      idx ++;
      }
   }


  // Print Detail
  public static void PrtDet() { 
      try { 
      BufferedReader in2 = new BufferedReader(new FileReader("AFI.DE1")); 
      String satz2, inno, strmano;
      int idx;
      
        while((satz2 = in2.readLine()) != null) // Loop1 
        {  
          try { 
            strmano = satz2.substring(6,12); 

            if (strmano.equals("A MANO")) {
            idx = 1;
            inno = satz2.substring(13,19); 
            System.out.println("Objekt: " + satz2);             	
              
              while((satz2 = in2.readLine()) != null)  // Loop 2 
              {	
                try {
                  strmano = satz2.substring(6,12);
                }
                catch(StringIndexOutOfBoundsException s) { 
                System.out.println("Fehler bei SubString!" + satz2); 
                } 
                	
                // satz = in.readLine();	
               
                // System.out.println(idx + " " + satz2); 	
                idx ++;
                if (strmano.equals("E MANO")) {
                  break;
                }
              }  
              
              // End Loop Read Detail Records 
              System.out.println("E N D E: " + "Objekt: " + inno + "-----------"); 	
              System.out.println(" ");
            }
            
          } 
        
          catch(StringIndexOutOfBoundsException s) { 
            //System.out.println("Fehler bei SubString!"); 
          } 
        }
        
      }
       
      catch(FileNotFoundException fnfe) { 
        System.out.println("Datei nicht gefunden!"); 
      }      
          
      catch(IOException ioe) { 
        System.out.println("Fehler beim Lesen!"); 
      }
  }  



     

}
 
müsste es nicht so heissen in zeile 14
Code:
String ArrayInno[] = new String [7];  // nicht  new string[7]

// und eigentlich wird ArrayInno[] auch klein geschrieben als arrayInno[]
 
1. Klassen immer mit Großbuchstaben beginnen. Also String, nich string
2. Variablen gelten nur in dem Block in dem sie definiert sind. Als Block kann man die { .... } Klammern sehen
 
Funktioniert nicht.
Den 2ten BufferedReader BufferedReader in2 = new BufferedReader(new FileReader("AFI.DE1"));
habe ich ja auch im try Block.
 
die Definition von in1 befindet sich alleine in einem { } Block - nicht bekannt außerhalb, du verwendest es aber außerhalb

in2 wird innerhalb des try Block definiert und du verwendest es auch innerhalb des Blocks.

Also 2 verschiedene Sachen !
 
OK!
Habe den BufferedReader vor dem Try Block gesetzt und den Try Block nach unter verlängert.
Super Danke! :applaus:
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben