From 9dc0569f466f7e2856cc1fa85d601490f10d4305 Mon Sep 17 00:00:00 2001 From: FedorSur Date: Mon, 20 Apr 2020 15:51:08 +0300 Subject: [PATCH] homework --- .../java/lesson2/hw/ArrayDataException.java | 11 ++++-- .../java/lesson2/hw/ArraySizeException.java | 7 ++-- src/main/java/lesson2/hw/ArrayUtils.java | 5 +-- src/main/java/lesson2/hw/Main.java | 36 ++++++++++++++++++- 4 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/main/java/lesson2/hw/ArrayDataException.java b/src/main/java/lesson2/hw/ArrayDataException.java index 759e6a2..5c2f709 100644 --- a/src/main/java/lesson2/hw/ArrayDataException.java +++ b/src/main/java/lesson2/hw/ArrayDataException.java @@ -1,5 +1,12 @@ package lesson2.hw; -public class ArrayDataException extends Exception { - // TODO: 14.04.2020 +public class ArrayDataException extends ClassCastException { + // TODO: 14.04.2020 + public ArrayDataException() { + super(); + } + + public ArrayDataException(String s) { + super(s); + } } diff --git a/src/main/java/lesson2/hw/ArraySizeException.java b/src/main/java/lesson2/hw/ArraySizeException.java index 53d481c..a8c7e36 100644 --- a/src/main/java/lesson2/hw/ArraySizeException.java +++ b/src/main/java/lesson2/hw/ArraySizeException.java @@ -1,5 +1,8 @@ package lesson2.hw; -public class ArraySizeException extends Exception { - // TODO: 14.04.2020 +public class ArraySizeException extends RuntimeException { + @Override + public String getMessage() { + return "Incorrect size"; + } } diff --git a/src/main/java/lesson2/hw/ArrayUtils.java b/src/main/java/lesson2/hw/ArrayUtils.java index 75c978d..84dcca3 100644 --- a/src/main/java/lesson2/hw/ArrayUtils.java +++ b/src/main/java/lesson2/hw/ArrayUtils.java @@ -2,9 +2,6 @@ public class ArrayUtils { - public long arraySum(Object [][] array) { - // TODO: 14.04.2020 - return 0; - } + } diff --git a/src/main/java/lesson2/hw/Main.java b/src/main/java/lesson2/hw/Main.java index cc82527..fbed061 100644 --- a/src/main/java/lesson2/hw/Main.java +++ b/src/main/java/lesson2/hw/Main.java @@ -1,8 +1,42 @@ package lesson2.hw; +import java.util.Random; +import java.util.Scanner; + public class Main { public static void main(String[] args) { // TODO: 14.04.2020 - // протестируйте arraySum здесь + Object[][] arr = new Object[4][4]; + for (int i = 0; i < 4; i++) { + arr[i] = new Object[]{7, 3, "ty", 1.33}; + } + System.out.println(arraySum(arr)); } + public static int arraySum(Object [][] array) { + // TODO: 14.04.2020 + int sum = 0; + try { + if (array[1].length > 4 || array.length > 4) { + throw new ArraySizeException(); + } + } + catch (ArrayDataException e){ + System.out.println("Неверный размер матрицы"); + } + + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + try { + sum += ((int) array[i][j]); + } + catch(ClassCastException e){ + System.out.println("Неверный тип данных в ячейке массива под индексом ["+i+"]["+j+"]"); + } + } + } + + return sum; + } + + }