2016-12-20 53 views
-2

我新来java。我一直在努力让一些代码上学,这段代码只是程序的一部分,它的工作原理,但checkstyle有问题。有谁知道什么是错的?我与*******匹配。谢谢。期待EOF发现'异常'

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

为什么你创建新的运营商异常???? –

+1

你想在'Exception e = new Exception()'这一行中做什么? – Seelenvirtuose

+0

没有什么只是尝试,如果它会解决checkstyle错误,但它什么都没做。在我添加这行之前,它指示错误,而 –

回答

0

不要创建例外,正好赶上它

您必须捕获异常,或扔,但不创建他们

+3

真的吗? “不要创建例外”?当然,我们每天都会在所有程序中创建例外。 – Seelenvirtuose