Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.98 KB | None | 0 0
  1. package lab3;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Scanner;
  5. import java.lang.*;
  6.  
  7. public class Lab3 {
  8.  
  9.     public static void main(String[] args) {
  10.         ArrayList<Human> list = new ArrayList<>();
  11.        
  12.            Human obj1 = new Human();
  13.            list.add(obj1);
  14.            Human obj2 = new Human();
  15.            list.add(obj2);
  16.            System.out.println("****************************************************************************");
  17.            System.out.println("Количество объектов в классе "+ obj1.whoAmI() + " = " + Human.howMany());
  18.            System.out.println("Объекты класса "+ obj1.whoAmI() + ": ");
  19.            for(int i = 0; i < list.size(); i++) {
  20.               System.out.println(list.get(i));}
  21.            System.out.println("****************************************************************************");
  22.            System.out.println(obj1.createrror());
  23.            System.out.println(obj2.createrror());
  24.     }
  25. }
  26.  
  27. class Human {
  28.     private static int i;
  29.     public String name;        //ФИО
  30.     public int dateOfBirth; //дата рождения
  31.     public String gender;      //пол
  32.  
  33.     static {
  34.         i = 0;
  35.     }
  36.  
  37.     public Human() {
  38.         i++;
  39.         System.out.print("Введите имя человека ");
  40.         String name = inConst();
  41.         this.name = name;
  42.         try{
  43.         System.out.print("Введите год рождения ");
  44.         int dateOfBirth = Integer.parseInt(inConst(),10);
  45.         this.dateOfBirth = dateOfBirth;
  46.            }
  47.         catch (NumberFormatException e){
  48.         System.out.print("Введите год рождения еще раз ");
  49.         Scanner scanner = new Scanner(System.in);
  50.         String str = scanner.nextLine();
  51.         int dateOfBirth = Integer.parseInt(str,10);
  52.            }
  53.         System.out.print("Введите пол ");
  54.         String gender = inConst();
  55.         this.gender = gender;
  56.     }
  57.    
  58.      public static String inConst() {
  59.         Scanner scanner = new Scanner(System.in);
  60.         String str = scanner.nextLine();
  61.         return str;
  62.     }
  63.    
  64.     public String getName() {
  65.         return name;
  66.     }
  67.  
  68.     public void setName(String name) {
  69.         this.name = name;
  70.     }
  71.  
  72.     public int getDateOfBirth() {
  73.         return dateOfBirth;
  74.     }
  75.  
  76.     public void setDateOfBirth(int dateOfBirth) {
  77.         this.dateOfBirth = dateOfBirth;
  78.     }
  79.  
  80.     public String getGender() {
  81.         return gender;
  82.     }
  83.  
  84.     public void setGender(String gender) {
  85.         this.gender = gender;
  86.     }
  87.  
  88. /*метод выводящий название класса */
  89.     public String whoAmI() {
  90.         return getClass().getCanonicalName();
  91.     }
  92.    
  93. /*статический метод возвращющий кол-во созданных экземпляров класса */
  94.     public static int howMany() {
  95.         return i;
  96.     }
  97.  /*метод возвращающий возраст человека */  
  98.     public int Old() {
  99.       int old = 2018 - dateOfBirth;
  100.       try{
  101.       if (old<0 || old>100 ) {throw new Exception();}
  102.       } catch (Exception e){
  103.       System.out.println("Неверно введен год рождения");
  104.       old = 0;
  105.       }
  106.         return old;
  107.     }
  108.    
  109.     /*метод для создания и обработки деления на ноль */
  110.     public String createrror() {
  111.     String inf ="";
  112.     try{
  113.     int er = 100/Old();
  114.     }
  115.     catch (ArithmeticException e){
  116.     System.out.println("!!!ArithmeticException!!!");
  117.     inf = "oo";
  118.       }
  119.       return inf;
  120.     }
  121.    
  122. /*метод возвращающий в виде строки информацию о человеке */
  123.     @Override
  124.     public String toString() {
  125.         return  "Информация : " + "ФИО: " + name +
  126.                 ", дата рождения: " + dateOfBirth + ", возраст: " + Old() + " лет, пол: " + gender ;
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement