Ajout première partie en Java

This commit is contained in:
rick 2021-03-06 17:53:49 +01:00
parent b1b89b5adc
commit d81aa7fa82
Signed by: Rick
GPG key ID: 2B593F087240EE99
3 changed files with 114 additions and 0 deletions

26
jour02/Box.java Normal file
View 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
View 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"
+ "louverture 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
View 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();
}
}