Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Тема 2.20 Использование массива объектов

Читайте также:
  1. А) с использованием конструктора таблиц
  2. Анализ входной информации предметной области и выделение информационных объектов
  3. Анализ случайных процессов изменения ОП объектов
  4. Априорные и апостериорные вероятности классов объектов
  5. Бухгалтерский учет строительства объектов основных средств
  6. В нем допускается использование смеси из объектов и простых типов (например, числа, символы и др.),
  7. В. Использование экзогенных жиров тканями

 

Методы работающие с массивом, не работают на прямую с полями объекта(т.е. объект, который необходим для вызова метода никакой роли не играет), то эти методы сделаем статическими и будем обращаться к ним через имя класса.

 

Листинг 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 | Нарушение авторских прав


Читайте в этой же книге: Тема 1.3 Настройка среды окружения. | Тема 1.6 Подробное рассмотрение кода простейшей программы. | Тема 1.8 Лексические основы языка | Тема 1.9 Элементарные типы данных. | Условный оператор if | Тема 2.23 Автоупакока и автораспаковка. | Квантификаторы | Тема 5.9 Краткий обзор коллекций |
<== предыдущая страница | следующая страница ==>
Тема 2.11 Перегрузка методов| Тема 2.22 Классы-оболочки

mybiblioteka.su - 2015-2024 год. (0.007 сек.)