Application.java
2.54 KB
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
package app;
import kernel.Cell;
import kernel.Grid;
import kernel.exception.CellNotFoundException;
import kernel.exception.CreateCycleException;
import kernel.exception.InvalidIntervalLineColumnEception;
import kernel.function.Average;
import kernel.function.Sum;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
public class Application {
public static void main(String[] args) throws IOException {
File fichier = new File("essai.ser");
// ouverture d'un flux sur un fichier
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(fichier));
Grid grid = new Grid();
// Création
System.out.println("Création de quelques cases...");
try {
grid.createCell("A", 1, 10.);
grid.createCell("B", 1, 0.);
grid.createCell("A", 2, 5.);
List<Cell> sumList = new ArrayList<>();
sumList.add(grid.getCell("A", 1));
sumList.add(grid.getCell("A", 2));
grid.createCell("A", 3, new Sum(sumList));
List<Cell> averageList = new ArrayList<>();
averageList.add(grid.getCell("A", 3));
averageList.add(grid.getCell("B", 1));
grid.createCell("B", 2, new Average(averageList));
} catch (CellNotFoundException | CreateCycleException | InvalidIntervalLineColumnEception exception) {
System.out.println(exception.getMessage());
}
// Affichage
List<Cell> cells = grid.getCells();
System.out.println("Affichage des valeurs :");
for (Cell cell : cells)
System.out.println(cell.getId() + ": " + cell.getValue());
System.out.println("Affichage des formules :");
for (Cell cell : cells)
System.out.println(cell.getId() + ": " + cell.toString());
System.out.println("Affichage des formules développées :");
for (Cell cell : cells)
System.out.println(cell.getId() + ": " + cell.getDevelopedFormula());
// Propagation
try {
grid.setValue("A", 1, 20.);
} catch (CellNotFoundException exception) {
System.out.println("exception");
}
System.out.println("Affichage des valeurs après modification :");
for (Cell cell : cells)
System.out.println(cell.getId() + ": " + cell.getValue());
// sérialization de l'objet
oos.writeObject(grid);
oos.close();
}
}