Читайте также:
|
|
Методы работающие с массивом, не работают на прямую с полями объекта(т.е. объект, который необходим для вызова метода никакой роли не играет), то эти методы сделаем статическими и будем обращаться к ним через имя класса.
Листинг 2.23
import java.util.Scanner;
public class Car {
public int speed;
public String color;
// Обратите внимание, этот конструктор использует объект типа Car:
public Car(Car ob) { // передача объекта конструктору
this.speed = ob.speed;
this.color = ob.color;
}
//конструктор c параметрами
public Car(int speed, String color) {
this.speed = speed;
this.color = color;
}
//конструктор без параметров
public Car() {
}
//метод для ввода всех параметров
public void create() {
System.out.println("введите скорость");
Scanner sc = new Scanner(System.in);
if (sc.hasNextInt()) {
speed = sc.nextInt();
}
System.out.println("введите цвет");
sc = new Scanner(System.in);
if (sc.hasNextLine()) {
color = sc.nextLine();
}
}
//метод для вывода всех параметров
public void show() {
System.out.println("speed =" + speed + ", color=" + color);
}
//метод для вычисления времени в пути
public double time(double length) {
return length / speed;
}
//создание массива объектов
public static Car[] createMas(int n) {
Car mas[] = new Car[n];
for (int i = 0; i < mas.length; i++) {
mas[i] = new Car();
mas[i].create();
}
return mas;
}
//вывод массива объектов
public static void showMas(Car[] mas) {
for (int i = 0; i < mas.length; i++) {
mas[i].show();
}
}
//вывод поиск самого быстрого автомобиля
public static Car bestCar(Car[] mas) {
Car best = mas[0];
for (int i = 1; i < mas.length; i++) {
if (mas[i].speed > best.speed) {
best = mas[i];
}
}
return best;
}
}
public class Main {
public static void main(String[] args) {
Car mas[]=Car.createMas(3);
Car.showMas(mas);
Car best=Car.bestCar(mas);
System.out.println("параметры самого быстрого автомобиля");
best.show();
}
}
В результате работы данной программы получим
введите скорость
введите цвет
RED
введите скорость
введите цвет
WHITE
введите скорость
введите цвет
GREEN
speed =100, color=RED
speed =150, color=WHITE
speed =120, color=GREEN
параметры самого быстрого автомобиля
speed =150, color=WHITE
Задания:
1) Напишите класс Животные, содержаний поля – Имя, Возраст, Вес, Рост. Объявите три константы Возраст, Вес, Рост в которые запишите пороговые значения. Создайте несколько объектов класса. Напишите конструктор бес параметров и конструктор с параметрами. Напишите метод, выводящий все данные о животном на консоль. Метод, определяющий одинаковые ли имена у двух животных. Метод, сравнивающий поля объекта с пороговыми значениями Возраст, Вес, Рост (пример вывода: старше 5 лет; легче 2 кг; выше 20 см).
2) Определите класс для комплексных чисел. Напишите методы для выведения числа в комплексном виде, сложения, вычитания и умножения комплексных чисел. Во все методы передается объекты.
Для тех, кто забыл комплексные числа
3) Определите класс для матриц. Напишите перегруженные конструктор для создания одномерной и двумерной матриц. В конструкторы передаются размерности матриц. (В конструктор для одномерной матрицы передается один параметр, для двумерной два). Напишите методы для выведения, сложения, вычитания и умножения матриц.
Дата добавления: 2015-10-29; просмотров: 178 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Тема 2.11 Перегрузка методов | | | Тема 2.22 Классы-оболочки |