Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Готовые отчеты (2020) / Java. Лабораторная работа 3.pdf
Скачиваний:
79
Добавлен:
29.01.2021
Размер:
960.64 Кб
Скачать

}

public double value; public Node next;

}

private Node head; private int size;

}

Результат компиляции и запуска приведен на рис. 6.

Рисунок 6 — Компиляция и запуск Task3.java Задание №7.

Изменим класс Vectors так, чтобы он работал с классами, реализующими интерфейс IVector, а также дополним примеры (табл. 13, 14). Таблица 13 — Измененный код vectors/Vectors.java

package vectors;

public class Vectors {

// Умножение вектора на число

public static IVector mul(IVector array, double number) { int size = array.size();

IVector r = new Array(size); try {

for (int i = 0; i < size; ++i) { r.set(i, array.get(i) * number);

}

}

catch(Exception e) { System.out.println(e.getMessage());

}

return r;

}

// Сложение двух векторов

public static IVector add(IVector array, IVector arg) throws IncompatibleVectorSizesException {

int size = array.size(); if (size != arg.size()) {

17

throw new IncompatibleVectorSizesException("IncompatibleVectorSizesException", array.size(), arg.size());

}

IVector r = new Array(size); try{

for (int i = 0; i < size; ++i) { r.set(i, array.get(i) + arg.get(i));

}

}

catch(Exception e) { System.out.println(e.getMessage());

}

return r;

}

// Скалярное произведение двух векторов

public static double mul(IVector array, IVector arg) throws IncompatibleVectorSizesException {

int size = array.size(); if (size != arg.size()) {

throw new IncompatibleVectorSizesException("IncompatibleVectorSizesException", array.size(), arg.size());

}

double r = 0; try {

for (int i = 0; i < size; ++i) {

r += array.get(i) * arg.get(i);

}

}

catch(Exception e) { System.out.println(e.getMessage());

}

return r;

}

}

Таблица 14 — Измененный код Task3.java

import vectors.*;

public class Task3 { // Точка входа

public static void main(String[] args) throws Exception { Array a = new Array(3), b = new Array(5);

ForwardList c = new ForwardList(3), d = new ForwardList(5); a.set(0, 2);

a.set(1, 1); a.set(2, 0); c.set(0, 2); c.set(1, 1); c.set(2, 0); b.set(0, 5); b.set(1, 4); b.set(2, 3); b.set(3, 2); b.set(4, 1); d.set(0, 5); d.set(1, 4); d.set(2, 3); d.set(3, 2); d.set(4, 1);

System.out.print("a: "); a.print();

18