.NET 4.x Class Person - C#
Формулировка задачи:
Еще одна интересная задача попалась. Подскажите как сделать.
Create class Person.
Class Person should consists of
a) two private fields: name and birthYear (the birthday year).(*As a type for this field you may use DataTime type.)
b) two properties for access to these fields (only get)
c) default constructor and constructor with 2 parameters
d) methods:
- Age() - to calculate the age of person
-Input() - to input information about person
-ChangeName() - to change the name of person
-ToString()
-Output() - to output information about person (call ToString())
- operator== (equal by name)
In the method Main() create 6 objects of Person type and input information about them.
Then calculate and write to console the name and Age of each person; Change the name of persons, which Age is less then 16, to "Very Young".
Output information about all persons.
Find and output information about Persons with the same names (use ==)
Решение задачи: «.NET 4.x Class Person»
textual
Листинг программы
using System; namespace HomeWork4 { class Program { static void Main(string[] args) { Person[] persons = new Person[6]; Console.WriteLine("Enter information about person"); for (int i = 0; i < 6; i++) { Person p = new Person(); persons[i] = p; Console.WriteLine("\n Person {0}.", (i + 1)); persons[i] = persons[i].Input(); } Console.WriteLine("\n Information about age"); foreach (Person person in persons) { int age; age = person.Age(); Console.WriteLine("name - {0},\t age - {1}", person.Name, age); } Console.WriteLine("\n Output"); foreach (Person person in persons) { int age; age = person.Age(); if (age < 16) { person.ChangeName(); } person.Output(); } Console.WriteLine("\n Persons with the same names"); for (int i = 0; i < 6; i++) { for (int j = i + 1; j < 6; j++) { if (persons[i] == persons[j]) { Console.Write("Person {0}. - ", (i + 1)); persons[i].Output(); Console.Write("Person {0}. - ", j); persons[j].Output(); Console.WriteLine(); } } } } } class Person { private string _name; private int _birthYear; public string Name { get { return _name; } } public int BirthYear { get { return _birthYear; } } public Person() { } public Person(string name, int birthYear) { _name = name; _birthYear = birthYear; } public int Age() { int age = 2017 - _birthYear; return age; } public Person Input() { string name; int birthYear; Console.Write(" name - "); name = Console.ReadLine(); Console.Write(" year - "); while (!Int32.TryParse(Console.ReadLine(), out birthYear)) { Console.Write("Error, year is not correct "); Console.Write("\n year - "); } return new Person(name, birthYear); } public string ChangeName() { this._name = "Very Young"; return this._name; } public override string ToString() { return "name - " + _name + ",\t \t the birthday year - " + _birthYear.ToString(); } public void Output() { Console.WriteLine(ToString()); } public static bool operator ==(Person first, Person second) { return first._name == second._name; } public static bool operator !=(Person first, Person second) { return !(first == second); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д