diff --git a/country/src/main/doc/j110-lab1.pdf b/country/src/main/doc/j110-lab1.pdf new file mode 100644 index 0000000..9d2d108 Binary files /dev/null and b/country/src/main/doc/j110-lab1.pdf differ diff --git a/country/src/main/java/ru/molokoin/Area.java b/country/src/main/java/ru/molokoin/Area.java index 35d3130..0fe0162 100644 --- a/country/src/main/java/ru/molokoin/Area.java +++ b/country/src/main/java/ru/molokoin/Area.java @@ -9,26 +9,35 @@ public class Area { Area(String name, int population, int square){ init(name, population, square); } - public void init(String name, int population, int square){ setName(name); setPopulation(population); setSquare(square); } public void print(){ - System.out.println("name: " + name + "; population:" + population + "; square: " + square); + if (name != "") System.out.println("name: " + name); + if (population > 0) System.out.println("population: " + population); + if (square > 0) System.out.println("square: " + square); } - /** * @param name the name to set */ public void setName(String name) { + try { + if(name == "")throw new IllegalArgumentException(name); + } catch (IllegalArgumentException e) { + System.out.println("Наименвание не должно быть пустым. "); + e.printStackTrace(); + this.name = name; + } this.name = name; } /** * @param population the population to set */ public void setPopulation(int population) { + //население не может быть отрицательным + if (population < 0) throw new IllegalArgumentException("Население не может быть отрицательным ..."); this.population = population; } /** @@ -38,7 +47,6 @@ public class Area { if (square < 0) throw new IllegalArgumentException("площадь не может быть отрицательной ..."); this.square = square; } - /** * @return the name */ diff --git a/country/src/main/java/ru/molokoin/Country.java b/country/src/main/java/ru/molokoin/Country.java index 0d99b03..b81f5a2 100644 --- a/country/src/main/java/ru/molokoin/Country.java +++ b/country/src/main/java/ru/molokoin/Country.java @@ -5,9 +5,29 @@ public class Country extends Area{ public Country() { } - Country(String name, int population, int square, String capitalName, int capitalPopulation, int capitalSquare){ + Country(String name, int population, int square){ + //this(name, population, square, null, null, null); + //TODO исключить дублирование метода Area.init() this.init(name, population, square); - setCapital(new Area(capitalName, capitalPopulation, capitalSquare)); + } + Country(String name, int population, int square, String capitalName, int capitalPopulation, int capitalSquare){ + //параметры страны + this.init(name + , population + , square); + //параметры столицы + if (capitalName != null) + setCapital(new Area(capitalName + , capitalPopulation + , capitalSquare)); + } + public static void print(Country country){ + System.out.println("-------------------------------------------"); + Area a = (Country) country; + a.print(); + country.getCapital().print(); + System.out.println("-------------------------------------------"); + } /** diff --git a/country/src/main/java/ru/molokoin/Map.java b/country/src/main/java/ru/molokoin/Map.java index 65bc8ca..c5dbd7b 100644 --- a/country/src/main/java/ru/molokoin/Map.java +++ b/country/src/main/java/ru/molokoin/Map.java @@ -1,32 +1,36 @@ package ru.molokoin; public class Map { - private Country[] map = new Country[5]; + public Country[] map; + //заполняем поля данными public void initDefaults(){ - System.out.println("map.length: " + map.length + " ..."); - //заполняем поля данными - map[0] = new Country("Russia", 17100000, 146700000, "Moscow", 12600000, 0); - map[1] = new Country("Russia", 17100000, 146700000, "Moscow", 12600000, 0); - map[2] = new Country("Russia", 17100000, 146700000, "Moscow", 12600000, 0); - map[3] = new Country("Russia", 17100000, 146700000, "Moscow", 12600000, 0); - map[4] = new Country("Russia", 17100000, 146700000, "Moscow", 12600000, 0); + map = new Country[5]; + //Россия + map[0] = new Country("Russia", 146700000, 17100000, "Moscow", 12600000, 0); + //Финляндия + map[1] = new Country("Finland", 5500000, 338000, "Helsinki", 655000, 0); + //Франция + map[2] = new Country("France", 67800000, 643800, "Paris", 2100000, 0); + + //Андора + map[3] = new Country("Andorra", 85000, 647, "Andorra la Vella", 22600, 0); + + //Сингапур + map[4] = new Country("Singapore", 5700000, 725, "", 0, 0); } - public static void print(Country[] map){ + public static void printAll(Country[] map){ + System.out.println("printAll"); System.out.println("Количество государств, данные о которых включены в terra: " + map.length); int i = 0; while (i < map.length) { - System.out.println("-------------------------------------------"); - map[i].print(); - map[i].getCapital().print(); - System.out.println("-------------------------------------------"); + Country.print(map[i]); i++; } - } public static void main(String[] args) { System.out.println("App.main()"); Map terra = new Map(); terra.initDefaults(); - print(terra.map); + printAll(terra.map); } } diff --git a/country/target/classes/ru/molokoin/Area.class b/country/target/classes/ru/molokoin/Area.class index 77a38b1..9d6ffe8 100644 Binary files a/country/target/classes/ru/molokoin/Area.class and b/country/target/classes/ru/molokoin/Area.class differ diff --git a/country/target/classes/ru/molokoin/Country.class b/country/target/classes/ru/molokoin/Country.class index 8645ca3..292ead5 100644 Binary files a/country/target/classes/ru/molokoin/Country.class and b/country/target/classes/ru/molokoin/Country.class differ diff --git a/country/target/classes/ru/molokoin/Map.class b/country/target/classes/ru/molokoin/Map.class index c17d921..f6ef87f 100644 Binary files a/country/target/classes/ru/molokoin/Map.class and b/country/target/classes/ru/molokoin/Map.class differ