Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2016, 12:40   #1
ShuricFC
Пользователь
 
Регистрация: 17.09.2016
Сообщений: 25
По умолчанию Создание интерфейса

Помогите пожалуйста переделать абстрактный класс под интерфейс.

Код:
import javax.xml.crypto.Data;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Calendar;
import java.util.Scanner;

//Создание абстрактного класса Persona
abstract class Persona {
	public String surname;
	public int day;
	public int month;
	public int year;

	Persona(String surname, int day, int month, int year) {
		this.surname = surname;
		this.day = day;
		this.month = month;
		this.year = year;
	}

	public int get_year() {
		return year;
	}

	public int get_day() {
		return day;
	}

	public int get_month() {
		return month;
	}

	public int age(int day, int month, int year) {
		Calendar calendar = Calendar.getInstance();
		int month_of_year = calendar.get(Calendar.MONTH);
		int day_of_month = calendar.get(Calendar.DAY_OF_MONTH);
		int Year = calendar.get(Calendar.YEAR);
		if ((month > month_of_year) || (month == month_of_year) && (day > day_of_month)) {
			return Year - year - 1;
		} else {
			return Year - year;
		}
	}

	public void Show_information() {
		/*
		 * System.out.println("Name: " + this.name);
		 * System.out.println("DateOfBirth: " + this.day + this.month +
		 * this.year); System.out.println("Age: " + age(day,month,year));
		 */
	}
}

// Создание проивзодного класса Abiturient
class Abiturient extends Persona {

	public String faculty;

	public Abiturient(String surname, int day, int month, int year, String faculty) {
		super(surname, day, month, year);
		this.faculty = faculty;
	}

	public String get_faculty() {
		return faculty;
	}

	@Override
	public void Show_information() {
		System.out.println("Фамилия:" + surname);
		System.out.println("Дата рождения: " + this.day + "." + this.month + "." + this.year);
		System.out.println("Возраст: " + this.age(day, month, year));
		System.out.println("Факультет: " + this.faculty);
	}
}

// Создание проивзодного класса Student
class Student extends Persona {
	public String faculty;
	public int course;

	Student(String surname, int day, int month, int year, String faculty, int course) {
		super(surname, day, month, year);
		this.faculty = faculty;
		this.course = course;
	}

	@Override
	public void Show_information() {
		System.out.println("Фамилия:" + this.surname);
		System.out.println("Дата рождения: " + this.day + "." + this.month + "." + this.year);
		System.out.println("Возраст: " + this.age(day, month, year));
		System.out.println("Факультет: " + this.faculty);
		System.out.println("Курс: " + this.course);
	}
}

// Создание проивзодного класса Proffessor
class Lecturer extends Persona {
	public String faculty;
	public String position;
	public int work_experience;

	Lecturer(String surname, int day, int month, int year, String faculty, String position, int work_experience) {
		super(surname, day, month, year);
		this.faculty = faculty;
		this.position = position;
		this.work_experience = work_experience;
	}

	@Override
	public void Show_information() {
		System.out.println("Фамилия:" + this.surname);
		System.out.println("Дата рождения: " + this.day + "." + this.month + "." + this.year);
		System.out.println("Возраст: " + this.age(day, month, year));
		System.out.println("Факультет: " + this.faculty);
		System.out.println("Должность: " + this.position);
		System.out.println("Опыт работы: " + this.work_experience);
	}
}

public class Pe {
	public static void main(String args[]) {
		Scanner in = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n, a, k, i, d, m, y;
		String s;
		System.out.println("Введите количество экземпляров");
		n = in.nextInt();
		Persona[] p = new Persona[n];
		System.out.println("1-Абитуриент, 2-Студент, 3-Преподователь");
		for (i = 0; i < n; i++) {
			System.out.println("Введите номер типа персоны");
			a = in.nextInt();
			switch (a) {
			case 1: {
				System.out.println("Введите фамилию абитуриента");
				s = in.next();
				String surname = s;
				System.out.println("Введите день рождения абитуриента:");
				k = in.nextInt();
				int day = k;
				System.out.println("Введите месяц рождения абитуриента:");
				k = in.nextInt();
				int month = k;
				System.out.println("Введите год рождения абитуриента:");
				k = in.nextInt();
				int year = k;
				System.out.println("Введите факультет абитуриента");
				s = in.next();
				String faculty = s;
				p[i] = new Abiturient(surname, day, month, year, faculty);
				break;
			}

			case 2: {
				System.out.println("Введите фамилию студента");
				s = in.next();
				String surname = s;
				System.out.println("Введите день рождения студента:");
				k = in.nextInt();
				int day = k;
				System.out.println("Введите месяц рождения студента:");
				k = in.nextInt();
				int month = k;
				System.out.println("Введите год рождения студента:");
				k = in.nextInt();
				int year = k;
				System.out.println("Введите факультет студента");
				s = in.next();
				String faculty = s;
				System.out.println("Введите курс студента:");
				k = in.nextInt();
				int course = k;
				p[i] = new Student(surname, day, month, year, faculty, course);
				break;
			}

			case 3: {
				System.out.println("Введите фамилию преподователя");
				s = in.next();
				String surname = s;
				System.out.println("Введите день рождения преподователя:");
				k = in.nextInt();
				int day = k;
				System.out.println("Введите месяц рождения преподователя:");
				k = in.nextInt();
				int month = k;
				System.out.println("Введите год рождения преподователя:");
				k = in.nextInt();
				int year = k;
				System.out.println("Введите факультет, на котором работает преподователь");
				s = in.next();
				String faculty = s;
				System.out.println("Введите должность преподователя");
				s = in.next();
				String position = s;
				System.out.println("Введите стаж работы преподователя (лет):");
				k = in.nextInt();
				int work_experience = k;
				p[i] = new Lecturer(surname, day, month, year, faculty, position, work_experience);
				break;
			}
			default: {
				System.out.println("----------------------------------ERROR-----------------------------------");
				break;
			}
			}
		}
		System.out.println("---------------------------------:");
		System.out.println("Информация о персонах:");
		System.out.println("---------------------------------:");
		for (i = 0; i < n; i++) {
			p[i].Show_information();
			System.out.println("_____________________________");
		}
		int d1, d2;
		System.out.println("Введите минимальный возраст: ");
		d1 = in.nextInt();
		System.out.println("Введите максимальный возраст: ");
		d2 = in.nextInt();
		System.out.println("-------------------------------------------------------:");
		System.out.println("Персоны, возраст которых попадает под заданный диапазон ");
		System.out.println("--------------------------------------------------------");
		for (i = 0; i < n; i++) {
			y = p[i].age(p[i].get_day(), p[i].get_month(), p[i].get_year());
			if ((y >= d1) && (y <= d2))
				p[i].Show_information();
		}
	}

}
ShuricFC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание интерфейса WizzyEgo Общие вопросы Delphi 5 19.02.2015 10:22
Создание интерфейса DanZ Общие вопросы C/C++ 2 06.04.2014 13:48
Создание интерфейса _quaker Операционные системы общие вопросы 1 05.04.2014 07:47
Создание интерфейса kirieshka Помощь студентам 0 09.04.2011 22:41
Создание интерфейса hjVFY123 Свободное общение 5 25.09.2009 11:28