Как правильно передать дату, не возвращает количество лет
Код сервера
`package s;
import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class S {
public static void main(String[] args)throws IOException {
System.out.println("Welcome to Server side");
BufferedReader in = null;
PrintWriter out = null;
ServerSocket servers = null;
Socket fromclient = null;
try {
servers = new ServerSocket(4444);
} catch (IOException e) {
System.out.println("Couldn't listen to port");
System.exit(-1);
}
try {
System.out.print("Waiting for a client...");
fromclient = servers.accept();
System.out.println("Client connected");
} catch (IOException e) {
System.out.println("Can't accept");
System.exit(-1);
}
in = new BufferedReader(new InputStreamReader(fromclient.getInputStream()));
out = new PrintWriter(fromclient.getOutputStream(), true);
String input, input1;
System.out.println("Waiting for messages");
while ((input = in.readLine()) != null) {
input1 = in.readLine();
String[] words = null;
if (input.equalsIgnoreCase("exit"))
break;
else if (input.trim().length() == 0) {
words = new String[0];
} else {
words = input.trim().split("[ ,.!?:;]+");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
LocalDate fuser = LocalDate.parse(in.readLine(), formatter);
LocalDate fuser1 = LocalDate.parse(in.readLine(), formatter);
Period period = Period.between(fuser, fuser1);
System.out.println("Получено: " + input);
System.out.println("Получено: " + input1);
out.println("Server :ЛЕТ: " +period.getYears());
}
System.out.println(input.length());
}
out.close();
in.close();
fromclient.close();
servers.close();
}
}`
Код клиента
package c;
import java.io.*;
import java.io.*;
import java.net.*;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class C {
public static void main(String[] args) throws IOException {
System.out.print("Welcome to Client side\nInput IP to connect:");
Scanner sc = new Scanner(System.in);
String ip = sc.nextLine();// если сервер и клиент на одном пк, то вводить localhost или 127.0.0.1
Socket fromserver = null;
fromserver = new Socket(ip, 4444);
System.out.println("Connected to " + ip);
BufferedReader in = new BufferedReader(new InputStreamReader(fromserver.getInputStream()));
PrintWriter out = new PrintWriter(fromserver.getOutputStream(), true);
BufferedReader inu = new BufferedReader(new InputStreamReader(System.in));
String fuser, fuser1, fserver;
while ((fuser = inu.readLine()) != null) {
out.println(fuser);
fuser1 = inu.readLine();
out.println(fuser1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
fserver = in.readLine();
System.out.println(fserver);
if (fuser.equalsIgnoreCase("exit"))
break;
}
out.close();
in.close();
inu.close();
fromserver.close();
sc.close();
}
}
Сервер ожидает три строки: не пустую и не равную "exit" и две строки с датами. Клиент присылает только две строки с датами.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я даже не знаю как правильно задать вопрос, сижу и перескакиваю с проблемы на проблему (точнее это не проблема, а мое незнание и отсутствие...
Занести в массив информацию о стоимости L – видов товараОпределить, сколько видов товара имеют стоимость, меньшую, чем средняя стоимость...