-
Notifications
You must be signed in to change notification settings - Fork 0
/
A1SoubMetoda.java
36 lines (35 loc) · 2.02 KB
/
A1SoubMetoda.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//Zadejte počet dnů a hodin. Program vypočte, kolik je to hodin (výsledek může být reálné číslo)
import java.io.*;
public class A1SoubMetoda
{ public static int ctiSoubInt(BufferedReader br)
{ try
{ //BufferedReader vstup = new BufferedReader(new FileReader("C:\\kurs\\hello.java")); //kdyby byl příkaz zde, tak by se pokaždé četlo od začátku
String ret=br.readLine();
return Integer.valueOf(ret).intValue();
} catch(FileNotFoundException e) {System.out.println(e+"Soubor nenalezen");return 1;}
catch (NumberFormatException e){ System.out.println(e+" nelze převést na číslo"); return 2;}
catch (IOException e){System.out.println(e+"Soubor nelze číst");return 3;}
}
public static void pisSoubInt(int i, BufferedWriter bw)
{ try
{ String ret=""+i; //automatická konverze na řetězec
bw.write(ret); bw.newLine();
} catch (IOException e){System.out.println(e+"Do souboru nelze zapsat");}
}
public static void main(String [] args)
{ //int hod,den,vysl; //lokální proměnné se neinicializují, proto při selhání čtení je v proměnné nedefinovaná hodnota. kompilátor nepustí
int hod=0,den=0,vysl=0;
try
{ BufferedReader vstup = new BufferedReader(new FileReader("C:\\kurs\\hello.java"));
hod = ctiSoubInt(vstup);
den = ctiSoubInt(vstup);
BufferedWriter vystup = new BufferedWriter(new FileWriter("C:\\kurs\\hello2.java"));
vysl=(den*24)+hod;
pisSoubInt(vysl,vystup);
vstup.close(); vystup.close();
} catch(FileNotFoundException e) {System.out.println(e+"Soubor nenalezen");}
catch (NumberFormatException e){ System.out.println(e+" nelze převést na číslo");}
catch (IOException e){System.out.println(e+"Soubor nelze číst");}
System.out.println("výsledek je "+vysl+" hodin.");
}
}