Ajout première partie en Java
This commit is contained in:
parent
b1b89b5adc
commit
d81aa7fa82
3 changed files with 114 additions and 0 deletions
26
jour02/Box.java
Normal file
26
jour02/Box.java
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
public class Box {
|
||||||
|
private int l, w, h;
|
||||||
|
|
||||||
|
public Box (int l, int w, int h) {
|
||||||
|
this.l = l;
|
||||||
|
this.w = w;
|
||||||
|
this.h = h;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSurface() {
|
||||||
|
return 2*(this.l*this.w + this.w*this.h + this.h*this.l);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int areaSmallSurface() {
|
||||||
|
int wl = this.w * this.l;
|
||||||
|
int wh = this.w * this.h;
|
||||||
|
int lh = this.l * this.h;
|
||||||
|
|
||||||
|
int ret = wl >= wh ? wh : wl;
|
||||||
|
|
||||||
|
if (ret > lh)
|
||||||
|
ret = lh;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
79
jour02/Jour2.java
Normal file
79
jour02/Jour2.java
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.RandomAccessFile;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class Jour2 {
|
||||||
|
private String filename;
|
||||||
|
private FileInputStream fis;
|
||||||
|
private Scanner sc;
|
||||||
|
private ArrayList<Box> listBox;
|
||||||
|
|
||||||
|
public Jour2(String filename) {
|
||||||
|
this.filename = filename;
|
||||||
|
this.listBox = new ArrayList<Box>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void premPartie() {
|
||||||
|
int result = 0, x, y, z;
|
||||||
|
this.loadFile();
|
||||||
|
try {
|
||||||
|
String line;
|
||||||
|
while (sc.hasNextLine()) {
|
||||||
|
line = sc.nextLine();
|
||||||
|
String[] tokens = line.split("x");
|
||||||
|
x = Integer.parseInt(tokens[0]);
|
||||||
|
y = Integer.parseInt(tokens[1]);
|
||||||
|
z = Integer.parseInt(tokens[2]);
|
||||||
|
this.listBox.add(new Box(x, y, z));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < this.listBox.size(); i++) {
|
||||||
|
result += this.listBox.get(i).getSurface();
|
||||||
|
result += this.listBox.get(i).areaSmallSurface();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.err.println("Erreur !!");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.unloadFile();
|
||||||
|
System.out.println("Il faut " + result + " pieds de papiers cadeaux.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deuxPartie() {
|
||||||
|
this.loadFile();
|
||||||
|
try {
|
||||||
|
//while (sc.hasNextLine()) {
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.err.println("Erreur !!");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
this.unloadFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadFile() {
|
||||||
|
try {
|
||||||
|
this.fis = new FileInputStream(filename);
|
||||||
|
this.sc = new Scanner(fis);
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.err.println("Erreur rencontrée lors de"
|
||||||
|
+ "l’ouverture du fichier.");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void unloadFile() {
|
||||||
|
try {
|
||||||
|
this.sc.close();
|
||||||
|
this.fis.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.err.println("Erreur rencontrée lors de la "
|
||||||
|
+ "fermeture du fichier.");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
9
jour02/Main.java
Normal file
9
jour02/Main.java
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
public class Main {
|
||||||
|
static public void main (String[] args) {
|
||||||
|
Jour2 j = new Jour2("input");
|
||||||
|
System.out.println("Exécution de la première partie…");
|
||||||
|
j.premPartie();
|
||||||
|
System.out.println("Exécution de la deuxième partie…");
|
||||||
|
//j.deuxPartie();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue