我是java新手。我一直在努力为学校制作一些代码,这段代码只是程序的一部分,它可以工作但是checkstyle有问题。有谁知道什么是错的?我把它与*******相匹配。感谢。
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 :(得分:0)
不要创建异常,只需抓住它
您必须捕获异常或抛出异常,但不要创建它们