Create SixthLab.java
This commit is contained in:
parent
0ec39254b8
commit
2874cce9b6
|
@ -0,0 +1,138 @@
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Comparator;
|
||||||
|
|
||||||
|
public class SixthLab {
|
||||||
|
|
||||||
|
public static int sumOfPassangers(Train[] trains) {
|
||||||
|
int sum = 0;
|
||||||
|
for (Train train: trains) {
|
||||||
|
sum += train.getCapacity();
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static float sumOfLuggage(Train[] trains) {
|
||||||
|
float sum = 0.0f;
|
||||||
|
for (Train train: trains) {
|
||||||
|
sum += train.getLuggage();
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner scn = new Scanner(System.in);
|
||||||
|
Intercity intercity = new Intercity(2, "intercity", 57, 2.0f);
|
||||||
|
SV sv = new SV(3, "sv", 20, 1.3f);
|
||||||
|
Compartment compartment = new Compartment(2, "compartment", 40, 2.5f);
|
||||||
|
Plackart plackart = new Plackart(1, "plackart", 52, 1.8f);
|
||||||
|
Train[] trainCars = {intercity, sv, compartment, plackart};
|
||||||
|
|
||||||
|
System.out.println("List of train cars: ");
|
||||||
|
for (Train car: trainCars) {
|
||||||
|
System.out.println(car);
|
||||||
|
}
|
||||||
|
|
||||||
|
Arrays.sort(trainCars, new sortByComfort());
|
||||||
|
System.out.println("\nSorted list by comfort level: ");
|
||||||
|
for (Train car: trainCars) {
|
||||||
|
System.out.println(car);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.printf("\n\nThe total number of passengers on the train - %d.\n", sumOfPassangers(trainCars));
|
||||||
|
System.out.printf("The total amount of train baggage - %.1f tons.", sumOfLuggage(trainCars));
|
||||||
|
|
||||||
|
System.out.println("\n\nFinding the train car by number of passengers");
|
||||||
|
System.out.print("Enter the lower number: ");
|
||||||
|
int lower = scn.nextInt();
|
||||||
|
System.out.print("Enter the extreme number: ");
|
||||||
|
int extreme = scn.nextInt();
|
||||||
|
boolean flag = false;
|
||||||
|
for (Train car: trainCars) {
|
||||||
|
int amount = car.getCapacity();
|
||||||
|
if(amount >= lower && amount <= extreme) {
|
||||||
|
System.out.println(car);
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!flag) {
|
||||||
|
System.out.println("There is no such train car");
|
||||||
|
}
|
||||||
|
scn.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Train {
|
||||||
|
private int comfortLevel;
|
||||||
|
private String type;
|
||||||
|
private int capacity;
|
||||||
|
private float luggage;
|
||||||
|
|
||||||
|
public Train(int comfortLevel, String type, int capacity, float luggage) {
|
||||||
|
this.comfortLevel = comfortLevel;
|
||||||
|
this.type = type;
|
||||||
|
this.capacity = capacity;
|
||||||
|
this.luggage = luggage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getComfortLevel() {
|
||||||
|
return comfortLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCapacity() {
|
||||||
|
return capacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getLuggage() {
|
||||||
|
return luggage;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Train : " +
|
||||||
|
" Type: " + type +
|
||||||
|
". Comfort level: " + comfortLevel +
|
||||||
|
". Capacity: " + capacity +
|
||||||
|
". Luggage: " + luggage + " tons.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class Intercity extends Train {
|
||||||
|
|
||||||
|
public Intercity(int comfortLevel, String type, int capacity, float luggage) {
|
||||||
|
super(comfortLevel, type, capacity, luggage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class SV extends Train {
|
||||||
|
|
||||||
|
public SV(int comfortLevel, String type, int capacity, float luggage) {
|
||||||
|
super(comfortLevel, type, capacity, luggage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Compartment extends Train {
|
||||||
|
|
||||||
|
public Compartment(int comfortLevel, String type, int capacity, float luggage) {
|
||||||
|
super(comfortLevel, type, capacity, luggage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Plackart extends Train {
|
||||||
|
|
||||||
|
public Plackart(int comfortLevel, String type, int capacity, float luggage) {
|
||||||
|
super(comfortLevel, type, capacity, luggage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class sortByComfort implements Comparator<Train> {
|
||||||
|
|
||||||
|
public int compare(Train a, Train b){
|
||||||
|
return a.getComfortLevel() - b.getComfortLevel();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue