lab7 - classe et tableaux
This commit is contained in:
parent
80c743cb15
commit
a7eda55e9b
7
.vscode/launch.json
vendored
7
.vscode/launch.json
vendored
@ -4,6 +4,13 @@
|
|||||||
// Pour plus d'informations, visitez : https://go.microsoft.com/fwlink/?linkid=830387
|
// Pour plus d'informations, visitez : https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"configurations": [
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "Launch Task2Runner",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "lab7_Classe_et_tableaux.Task2Runner",
|
||||||
|
"projectName": "Labo_6a2f7ad1"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "java",
|
"type": "java",
|
||||||
"name": "Launch Task1Runner",
|
"name": "Launch Task1Runner",
|
||||||
|
98
src/lab7_Classe_et_tableaux/Auto.java
Normal file
98
src/lab7_Classe_et_tableaux/Auto.java
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
package lab7_Classe_et_tableaux;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Rémi Heredero
|
||||||
|
* @Klagarge
|
||||||
|
*/
|
||||||
|
public class Auto {
|
||||||
|
private String name;
|
||||||
|
private double horsepower;
|
||||||
|
private double maxSpeed;
|
||||||
|
public Consommation consommation = new Consommation();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Définition d'une voiture
|
||||||
|
* @param name Nom du type de voiture
|
||||||
|
* @param horsepower Puissance en chevaux
|
||||||
|
* @param maxSpeed Vitesse maximale
|
||||||
|
* @author Rémi Heredero
|
||||||
|
*/
|
||||||
|
public Auto(String name, double horsepower, double maxSpeed){
|
||||||
|
this.name = name;
|
||||||
|
this.horsepower = horsepower;
|
||||||
|
this.maxSpeed = maxSpeed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Définition d'une voiture avec consommation mix
|
||||||
|
* @param name Nom du type de voiture
|
||||||
|
* @param horsepower Puissance en chevaux
|
||||||
|
* @param maxSpeed Vitesse maximale
|
||||||
|
* @param urban valeur en l/100km pen régime urbain
|
||||||
|
* @author Rémi Heredero
|
||||||
|
*/
|
||||||
|
public Auto(String name, double horsepower, double maxSpeed, double combined){
|
||||||
|
this.name = name;
|
||||||
|
this.horsepower = horsepower;
|
||||||
|
this.maxSpeed = maxSpeed;
|
||||||
|
consommation.combined = combined;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Définition complète d'une voiture
|
||||||
|
* @param name Nom du type de voiture
|
||||||
|
* @param horsepower Puissance en chevaux
|
||||||
|
* @param maxSpeed Vitesse maximale
|
||||||
|
* @param urban valeur en l/100km pen régime urbain
|
||||||
|
* @param highway valeur en l/100km pen régime autoroutier
|
||||||
|
* @param combined valeur en l/100km pen régime combiné
|
||||||
|
* @author Rémi Heredero
|
||||||
|
*/
|
||||||
|
public Auto(String name, double horsepower, double maxSpeed, double urban, double highway, double combined){
|
||||||
|
this.name = name;
|
||||||
|
this.horsepower = horsepower;
|
||||||
|
this.maxSpeed = maxSpeed;
|
||||||
|
consommation.urban = urban;
|
||||||
|
consommation.highway = highway;
|
||||||
|
consommation.combined = combined;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Renvoie sous forme de texte les caractéristique principale d'une voiture
|
||||||
|
*/
|
||||||
|
public String toString() {
|
||||||
|
String s = "";
|
||||||
|
s += this.name;
|
||||||
|
s += ", ";
|
||||||
|
s += this.horsepower;
|
||||||
|
s += " hp, ";
|
||||||
|
s += this.maxSpeed;
|
||||||
|
s += " km/h";
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test si une voiture est vraiment rapide (>200km/h)
|
||||||
|
* @return vrai si la voiture est plus rapide que 200 km/h
|
||||||
|
*/
|
||||||
|
public boolean isVeryFast() {
|
||||||
|
boolean fast = false;
|
||||||
|
if (this.maxSpeed>200) {
|
||||||
|
fast = true;
|
||||||
|
}
|
||||||
|
return fast;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test si une voiture est "écologique"
|
||||||
|
* @return vrai si la consommation mix est inférieur à 8 l/100km et la consommation urbaine <10l/100km
|
||||||
|
*/
|
||||||
|
public boolean isEco() {
|
||||||
|
boolean eco = false;
|
||||||
|
if (consommation.combined<8 && consommation.urban<10) {
|
||||||
|
eco = true;
|
||||||
|
}
|
||||||
|
return eco;
|
||||||
|
}
|
||||||
|
}
|
33
src/lab7_Classe_et_tableaux/Consommation.java
Normal file
33
src/lab7_Classe_et_tableaux/Consommation.java
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package lab7_Classe_et_tableaux;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Rémi Heredero
|
||||||
|
* @Klagarge
|
||||||
|
*/
|
||||||
|
public class Consommation {
|
||||||
|
double urban;
|
||||||
|
double highway;
|
||||||
|
double combined;
|
||||||
|
|
||||||
|
Consommation(){};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Consommation mix
|
||||||
|
* @param combined valeur en l/100km pen régime combiné
|
||||||
|
*/
|
||||||
|
Consommation(double combined){
|
||||||
|
this.combined = combined;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tous les types de consommation d'une voiture
|
||||||
|
* @param urban valeur en l/100km pen régime urbain
|
||||||
|
* @param highway valeur en l/100km pen régime autoroutier
|
||||||
|
* @param combined valeur en l/100km pen régime combiné
|
||||||
|
*/
|
||||||
|
Consommation(double urban, double highway, double combined){
|
||||||
|
this.urban = urban;
|
||||||
|
this.highway = highway;
|
||||||
|
this.combined = combined;
|
||||||
|
}
|
||||||
|
}
|
80
src/lab7_Classe_et_tableaux/Garage.java
Normal file
80
src/lab7_Classe_et_tableaux/Garage.java
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
package lab7_Classe_et_tableaux;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Rémi Heredero
|
||||||
|
* @Klagarge
|
||||||
|
*/
|
||||||
|
public class Garage {
|
||||||
|
private Auto[] stock = new Auto[100];
|
||||||
|
private int nbrOfCars = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ajout d'une voiture
|
||||||
|
* @param a objet de Classe Auto
|
||||||
|
*/
|
||||||
|
public void addCar(Auto a) {
|
||||||
|
stock[nbrOfCars] = a;
|
||||||
|
this.nbrOfCars++;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le nombre de voiture présente dans le garage
|
||||||
|
* @return le nombre de voiture dans le garage
|
||||||
|
*/
|
||||||
|
public int getNumberOfCars() {
|
||||||
|
return this.nbrOfCars;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne sous forme de String toutes les voitures présente dans le garage
|
||||||
|
*/
|
||||||
|
public String toString() {
|
||||||
|
String s = "";
|
||||||
|
for (int i = 0; i < stock.length; i++) {
|
||||||
|
if (stock[i] != null) {
|
||||||
|
s += "Car ";
|
||||||
|
s += i;
|
||||||
|
s += " : ";
|
||||||
|
s += stock[i].toString();
|
||||||
|
s += "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne sous forme de String les voiture vraiment rapide (>200km/h) présente dans le garage
|
||||||
|
* @return Liste des voiture qui vont à plus de 200 km/h
|
||||||
|
*/
|
||||||
|
public String displayFastCars() {
|
||||||
|
String s = "";
|
||||||
|
for (int i = 0; i < stock.length; i++) {
|
||||||
|
if ((stock[i] != null) && (stock[i].isVeryFast())) {
|
||||||
|
s += "Car ";
|
||||||
|
s += i;
|
||||||
|
s += " : ";
|
||||||
|
s += stock[i].toString();
|
||||||
|
s += "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne toutes les voitures "écologique" présente dans le garage
|
||||||
|
* @return liste des voiture <8l/100km mix et <10l/100km urbain présentent dans le garage
|
||||||
|
*/
|
||||||
|
public String displayEcoCars() {
|
||||||
|
String s = "";
|
||||||
|
for (int i = 0; i < stock.length; i++) {
|
||||||
|
if ((stock[i] != null) && (stock[i].isEco())) {
|
||||||
|
s += "Car ";
|
||||||
|
s += i;
|
||||||
|
s += " : ";
|
||||||
|
s += stock[i].toString();
|
||||||
|
s += "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
}
|
20
src/lab7_Classe_et_tableaux/Task2Runner.java
Normal file
20
src/lab7_Classe_et_tableaux/Task2Runner.java
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package lab7_Classe_et_tableaux;
|
||||||
|
|
||||||
|
public class Task2Runner {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
//Auto audi = new Auto("Audi TT", 135, 250);
|
||||||
|
Garage perso = new Garage();
|
||||||
|
perso.addCar(new Auto("Audi TT", 135, 250, 12, 7, 8.3));
|
||||||
|
perso.addCar(new Auto("VW Golf", 100, 180, 9, 6.5, 7.5));
|
||||||
|
perso.addCar(new Auto("Lancia Y", 60, 150, 8, 5, 6.6));
|
||||||
|
perso.addCar(new Auto("Porsche 911", 400, 312, 35, 15, 20));
|
||||||
|
System.out.println("Number of car in garage: " + perso.getNumberOfCars());
|
||||||
|
System.out.println("");
|
||||||
|
System.out.println(perso.toString());
|
||||||
|
System.out.println("");
|
||||||
|
System.out.println("Garage fast cars: \n" + perso.displayFastCars());
|
||||||
|
System.out.println("");
|
||||||
|
System.out.println("Garage \"eco\" cars: \n" + perso.displayEcoCars());
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user