2016-12-20 2 views
-2

Ich bin neu in Java. Ich habe versucht, irgendeinen Code zur Schule zu machen, dieser Code ist nur ein Teil des Programms, es funktioniert, aber checkstyle hat ein Problem. Weiß jemand, was falsch ist? Ich passte es mit *******. Vielen Dank.Expecting EOF gefunden 'Exception'

public void vypis() { 
    System.out.println("Vypisujem celý soubor:"); 
    try (BufferedReader br = new BufferedReader(new FileReader("subor.txt"))) { 
     String s; 
     Exception e = new Exception(); ***************************** 
     while((s = br.readLine()) != null) { 
      System.out.println(s); 
     } 
    } catch (Exception e) { 
     System.err.println("Chyba pri čítaní súboru."); 
    } 
} 




import java.util.Scanner; 
import java.util.ArrayList; 
import java.io.File; 
import java.io.BufferedReader; 
import java.io.BufferedWriter; 
import java.io.IOException; 
import java.io.FileReader; 
import java.io.FileWriter; 
import java.io.PrintWriter; 
import java.io.FileOutputStream; 
/** 
* 
* @author Jakub Jurina 
* @version 2016 
*/ 
public class Sklad { 
    ArrayList<Tovar>potSklad = new ArrayList<Tovar>(); // vytvori nový arraylist s názvom potSklad 

    String aNazov; 
    String aVaha; 
    String aKrajina; 
    String aCena; 
    /** 
    * metóda pomocov filereadera načíta súbor ktorý následne zapíše pomocov readLine do arraylistu 
    */ 
    public void nacitajZoSuboru() throws IOException { 
     FileReader fr = new FileReader("subor.txt"); 
     BufferedReader in = new BufferedReader(fr); 
     String riadok, pom; 
     int i = 0; 
     System.out.println("\f"); 

     while((riadok = in.readLine()) != null) { 
      String polozka[] = riadok.split("/"); 
      String aNazov = polozka[0].toLowerCase(); 
      String aVaha = polozka[1].toLowerCase(); 
      String aKrajina = polozka[2].toLowerCase(); 
      String aCena = polozka[3].toLowerCase(); 

      i++; 
      pridajPolozku(aNazov, aVaha, aKrajina, aCena); 
     } 
     fr.close(); 

    } 

    /** metóda má ako návratovú hodnotu dlžku arraylistu (počet riadkov v arrayliste) 
    * 
    * @return dlzku arraylistu 
    */ 
    public int getSkladDlzka() { 
     return potSklad.size(); 
    } 

    /** 
    * metóda pridá položku do arraylistu ktorú načítame v metóde nacitajZoSuboru(). 
    */ 
    public void pridajPolozku(String paNazov, String paVaha, String paKrajina, String paCena){ 
     Tovar a1= new Tovar(paNazov, paVaha, paKrajina, paCena); 
     potSklad.add(a1); 
    } 

    /** 
    * metóda pomocov scanneru pridáva do arraylistu položku ktorú postupne zadávame z klávesnice, 
    * po zadaní všetkých atribútov vypíše čo sme zadali a v arrayliste ich oddelí "/" 
    */ 
    public void PridajDoDatabazy() throws IOException { 
     String novyRiadok, aNazov, aVaha, aKrajina, aCena; 
     Scanner vstup = new Scanner (System.in); 
     System.out.println("\fPridať do zoznamu:"); 
     System.out.println("\nZadajte náz tovaru:"); 
     aNazov = vstup.nextLine(); 
     System.out.println("\nZadajte váhu tovaru(kg):"); 
     aVaha = vstup.nextLine(); 
     System.out.println("\nZadajte krajinu pôvodu:"); 
     aKrajina = vstup.nextLine(); 
     System.out.println("\nZadajte cenu tovaru(€):"); 
     aCena = vstup.nextLine(); 

     System.out.println("\f\nZadali ste : \n" + aNazov + ", " + aVaha + ", " + aKrajina + ", " + aCena + "."); 
     novyRiadok = (aNazov + "/" + aVaha + "/" + aKrajina + "/" + aCena + "/"); 

     PrintWriter zapisdodatabazy = new PrintWriter(new FileOutputStream("subor.txt",true)); 
     zapisdodatabazy.print(novyRiadok); 
     zapisdodatabazy.println(); 
     zapisdodatabazy.close(); 
     pridajPolozku(aNazov, aVaha, aKrajina, aCena); 
    } 

    /** 
    * medóda prepisuje celý arraylist do súboru, postupne po riadku prejde cely arraylist a nasledne prepíše do suboru. 
    */ 
    public void AktualizujSubor() throws IOException { 
     File frM = new File("subor.txt"); 
     FileWriter fw = new FileWriter("subor.txt"); 
     int a = getSkladDlzka(); 
     for (int i=0; i<a; i++) { 
      String novyRiadok = (potSklad.get(i).getNazov() + "/" + potSklad.get(i).getVaha() + "/" + potSklad.get(i).getKrajina() + "/" + potSklad.get(i).getCena()); 
      PrintWriter zapisdoskladu = new PrintWriter(new FileOutputStream("subor.txt",true)); 
      zapisdoskladu.print(novyRiadok); 
      zapisdoskladu.println(); 
      zapisdoskladu.close(); 
     } 
     fw.close(); 
    } 

    /** 
    * metóda prečíta bufferedreaderom súbor a cyklus while príkazom readline prečíta riadok a vypíše ho 
    */ 
    public void vypis() { 
     System.out.println("Vypisujem celý soubor:"); 
     try (BufferedReader br = new BufferedReader(new FileReader("subor.txt"))) { 
      String s = br.readLine(); 
      //Exception e = new Exception(); 
      while((s = br.readLine()) != null) { 
       System.out.println(s); 
      } 
     } catch (Exception e) { 
      System.err.println("Chyba pri čítaní súboru."); 
     }  
    } 

    /** 
    * metóda vyhľadá v arrayliste riadok podľa zadanej ceny a zoradí cenu od najlacnejšieho tovaru. 
    */ 
    public void zoradPodlaCenyVzostupne() { 
     boolean Zmena; 
     do{ 
      Zmena = false; 
      for (int i=0; i<potSklad.size()-1; i++) { 
       if (potSklad.get(i).getCena().compareToIgnoreCase(potSklad.get(i+1).getCena())>0) { 
        Tovar potravina = potSklad.get(i); 
        potSklad.set(i, potSklad.get(i+1)); 
        potSklad.set(i+1, potravina); 
        Zmena=true; 
       } 
      } 
     } while (Zmena); 
    } 

    /** 
    * metóda vyhľadá v arrayliste riadok podľa zadanej ceny a zoradí cenu od najdrahšieho tovaru. 
    */ 
    public void zoradPodlaCenyZostupne() { 
     boolean Zmena; 
     do{ 
      Zmena = false; 
      for (int i=0; i<potSklad.size()-1; i++) { 
       if (potSklad.get(i).getCena().compareToIgnoreCase(potSklad.get(i+1).getCena())<0) { 
        Tovar potravina = potSklad.get(i); 
        potSklad.set(i, potSklad.get(i+1)); 
        potSklad.set(i+1, potravina); 
        Zmena=true; 
       } 
      } 
     } while (Zmena); 
    } 
} 
+0

warum erstellen Sie Exception mit neuen Betreiber erstellen ???? –

+1

Was genau wollen Sie in der Zeile 'Exception e = new Exception()' machen? – Seelenvirtuose

+0

Nichts hat nur versucht, wenn es diesen Fehler im Checkstyle beheben würde, aber es hat nichts getan. Bevor ich diese Zeile hinzufügte, signalisierte sie diesen Fehler, während –

Antwort

0

Sie Ausnahme nicht schaffen, fangen sie nur

Sie Ausnahmen abfangen müssen, oder werfen sie, sie aber nicht

+3

Wirklich? "Keine Ausnahme erstellen"? Natürlich erstellen wir den ganzen Tag Ausnahmen und in fast allen Programmen. – Seelenvirtuose

Verwandte Themen