package Exceptions Task1 import java io import java util NoSuchElement

 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package Exceptions.Task1;
import java.io.*;
import java.util.NoSuchElementException;
import java.util.Scanner;
/**
* Created by Alex on 24.03.2014.
*/
public class Main {
static PrintWriter pw;
static Scanner sc;
static char[] variables = {'a', 'b', 'c'};
static int[] values = new int[3];
public static void main(String[] args) {
initialization();
checkExpression();
pw.print(solve());
}
private static void initialization() {
try {
pw = new PrintWriter("output.txt");
} catch (FileNotFoundException e) {
System.err.println("Невозможно создать файл output.txt");
e.printStackTrace(System.err);
}
try {
File input = new File("input.txt");
sc = new Scanner(input);
} catch (FileNotFoundException e) {
e.printStackTrace(System.err);
pw.println("Файл input.txt не найден");
e.printStackTrace(pw);
pw.close();
}
}
private static void checkExpression() {
for (int i = 0; i < 3; i++) {
String s;
try {
if (!sc.hasNext()) {
throw new NoSuchElementException();
}
} catch (NoSuchElementException e) {
e.printStackTrace(System.err);
pw.println("Не хватает праметра " + variables[i]);
e.printStackTrace(pw);
pw.close();
}
s = sc.next();
try {
int x = Integer.parseInt(s);
if (x == 0 && i == 2) {
throw new IllegalArgumentException();
}
values[i] = x;
} catch (NumberFormatException e) {
e.printStackTrace(System.err);
pw.println("Параметр " + variables[i] + " не является числом (" + variables[i] + " = " + s + ")");
e.printStackTrace(pw);
pw.close();
}
catch (IllegalArgumentException e){
e.printStackTrace(System.err);
pw.println("На ноль делить нельзя");
e.printStackTrace(pw);
pw.close();
}
}
}
private static int solve(){
return (values[0] + values[1]) / values[2];
}
}