diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file 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; + } + + } diff --git a/src/main/java/lesson6/Client.java b/src/main/java/lesson6/Client.java new file mode 100644 index 0000000..a78f087 --- /dev/null +++ b/src/main/java/lesson6/Client.java @@ -0,0 +1,43 @@ +package lesson6; + + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.net.Socket; +import java.util.Scanner; + +public class Client { + + public static void main(String[] args) throws IOException { + Socket socket = new Socket("localhost", 80); + DataInputStream in = new DataInputStream(socket.getInputStream()); + DataOutputStream out = new DataOutputStream(socket.getOutputStream()); + Scanner input = new Scanner(System.in); + + Thread receiveServerMessageThread = new Thread(() -> { + while (true) { + try { + String serverMessage = in.readUTF(); + System.out.println("Message from server: " + serverMessage); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + receiveServerMessageThread.start(); + + while (true) { + String message = input.nextLine(); + if (message.equals("quit")) { + System.out.println("Finished!"); + out.writeUTF(message); + out.flush(); + break; + } + out.writeUTF(message); + out.flush(); + } + + } +} \ No newline at end of file diff --git a/src/main/java/lesson6/Server.java b/src/main/java/lesson6/Server.java new file mode 100644 index 0000000..18fca3b --- /dev/null +++ b/src/main/java/lesson6/Server.java @@ -0,0 +1,39 @@ +package lesson6; + +import java.io.*; +import java.net.ServerSocket; +import java.net.Socket; +import java.util.Scanner; + +public class Server { + + public static void main(String[] args) throws IOException { + ServerSocket server = new ServerSocket(80); + Socket con = server.accept(); + System.out.println("Connected " + con.getInetAddress()); + DataInputStream in = new DataInputStream(con.getInputStream()); + DataOutputStream out = new DataOutputStream(con.getOutputStream()); + Scanner input = new Scanner(System.in); + Thread receiveClientMessageThread = new Thread(() -> { + while (true) { + try { + String clientMessage = in.readUTF(); + if (clientMessage.equals("quit")) { + System.out.println("Shut down"); + return; + } + System.out.println("Message from client: " + clientMessage); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + receiveClientMessageThread.start(); + + while (true) { + String serverMessage = input.nextLine(); + out.writeUTF(serverMessage); + out.flush(); + } + } +}