First we create logic, in the logic class I created two methods, static and normal, in fact one is enough, so choose the one you need:
public class Logic { //ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ (Π΅ΡΠ»ΠΈ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°) public static void logicStatic() throws IOException { TaxiStation station = new TaxiStation("D:\\Cars.csv"); List<Car> carPool = station.getCarPool(); //ΠΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π°Π²ΡΠΎΠΏΠ°ΡΠΊΠ°. double poolPrice = 0.0; for (Car car : carPool) { poolPrice += car.getPrice(); } System.out.println("Cost of taxistation's cars: " + poolPrice ); //ΠΡΠΎΠ²Π΅ΡΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΏΠ°ΡΠΊΠ° ΠΏΠΎ ΡΠ°ΡΡ
ΠΎΠ΄Ρ ΡΠΎΠΏΠ»ΠΈΠ²Π°. Collections.sort(carPool, new Comparator<Car>() { @Override public int compare(Car car1, Car car2) { return ((int) Math.round(100.0 * (car1.getFuelConsumption() - car2.getFuelConsumption()))); } }); for (Car car: carPool) { System.out.printf("FuelConsumption of %s: %s", car, car.getFuelConsumption()); System.out.println(); } } //ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ (Π΅ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Π»ΠΎΠ³ΠΈΠΊΠΈ) public void logic() throws IOException { TaxiStation station = new TaxiStation("D:\\Cars.csv"); List<Car> carPool = station.getCarPool(); //ΠΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π°Π²ΡΠΎΠΏΠ°ΡΠΊΠ°. double poolPrice = 0.0; for (Car car : carPool) { poolPrice += car.getPrice(); } System.out.println("Cost of taxistation's cars: " + poolPrice ); //ΠΡΠΎΠ²Π΅ΡΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΏΠ°ΡΠΊΠ° ΠΏΠΎ ΡΠ°ΡΡ
ΠΎΠ΄Ρ ΡΠΎΠΏΠ»ΠΈΠ²Π°. Collections.sort(carPool, new Comparator<Car>() { @Override public int compare(Car car1, Car car2) { return ((int) Math.round(100.0 * (car1.getFuelConsumption() - car2.getFuelConsumption()))); } }); for (Car car: carPool) { System.out.printf("FuelConsumption of %s: %s", car, car.getFuelConsumption()); System.out.println(); } } }
Then, in the main class, call the required logic method (static or normal):
public class Main { public static void main(String[] args) throws IOException{ //ΠΡΠ»ΠΈ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ³Π΄Π°: Logic.logicStatic(); //ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ³Π΄Π°: Logic lgk = new Logic(); lgk.logic(); //Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ //ΡΡΠΎΠ±Ρ ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ //Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: //Logic.logicStatic("Some Car"); } }
TaxiStationclass, you alsoTaxiStationout logic logic somewhere, and in main donew logic.... roughly speaking ...... or is there a class with static methods, if it is not tied to a copy - Alexey Shimansky