JAVA
Создать калькулятор для работы с рациональными и комплексными числами, организовать меню, добавив в неё систему логирования.
Создать телефонный справочник с возможностью импорта и экспорта данных в нескольких форматах.
под форматами понимаем структуру файлов, например:
* в файле на одной строке хранится одна часть записи, пустая строка - разделитель
Создать информационную систему позволяющую работать с сотрудниками некой компании \ студентами вуза \ учениками школы
Ответы
Для реализации калькулятора для работы с рациональными и комплексными числами в Java, вы можете создать следующий код:
```java
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choice;
do {
System.out.println("Выберите тип чисел:");
System.out.println("1. Рациональные числа");
System.out.println("2. Комплексные числа");
System.out.println("0. Выход");
choice = scanner.nextInt();
switch (choice) {
case 1:
handleRationalNumbers(scanner);
break;
case 2:
handleComplexNumbers(scanner);
break;
case 0:
System.out.println("Программа завершена.");
break;
default:
System.out.println("Неверный выбор. Попробуйте снова.");
break;
}
} while (choice != 0);
scanner.close();
}
private static void handleRationalNumbers(Scanner scanner) {
System.out.println("Выбраны рациональные числа.");
// Добавьте код для работы с рациональными числами
}
private static void handleComplexNumbers(Scanner scanner) {
System.out.println("Выбраны комплексные числа.");
// Добавьте код для работы с комплексными числами
}
}
```
Это базовый каркас программы, который предлагает выбрать тип чисел (рациональные или комплексные) и вызывает соответствующие методы для их обработки. Вы можете добавить реализацию операций с рациональными и комплексными числами в соответствующие методы `handleRationalNumbers` и `handleComplexNumbers`.
Для добавления системы логирования в ваш калькулятор, вы можете использовать библиотеку log4j, которую нужно добавить в зависимости вашего проекта. Вот пример использования log4j:
1. Установите библиотеку log4j, добавив зависимость в ваш файл `pom.xml` (если вы используете Maven):
```xml
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.1</version>
</dependency>
</dependencies>
```
2. Создайте файл конфигурации log4j (например, `log4j2.xml`) с настройками логирования. Вот пример:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
```
3. Измените метод `main` в вашем калькуляторе, чтобы использовать log4j для логирования. Вот пример:
```java
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Calculator {
private static final Logger logger = LogManager.getLogger(Calculator.class);
public static void main(String[] args) {
// ...
do {
// ...
switch (choice) {
// ...
case 1:
logger.info("Выбраны рациональные числа.");
handleRationalNumbers(scanner);
break;
case 2:
logger.info("Выбраны комплексные числа.");
handleComplexNumbers(scanner);
break;
// ...
}
} while (choice != 0);
// ...
scanner.close();
}
// ...
}
```
Теперь вы сможете видеть логи в консоли или настроить другие аппендеры для сохранения логов в файл.
Чтобы создать телефонный справочник с возможностью импорта и экспорта данных в разных форматах, вы можете использовать классы для представления контактов и методы для их сохранения и загрузки из разных форматов файлов. Вот пример кода:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class Phonebook {
private List<Contact> contacts;
public Phonebook() {
contacts = new ArrayList<>();
}
public void addContact(Contact contact) {
contacts.add(contact);
}
public void exportToCSV(String filename) {
try (PrintWriter writer = new PrintWriter(new FileWriter(filename))) {
for (Contact contact : contacts) {
writer.println(contact.getName() + "," + contact.getPhoneNumber());
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void importFromCSV(String filename) {
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
if (parts.length == 2) {
String name = parts[0];
String phoneNumber = parts[1];
Contact contact = new Contact(name, phoneNumber);
contacts.add(contact);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
В приведенном выше примере используется формат CSV для импорта и экспорта контактов. Вы можете добавить поддержку других форматов, например, JSON или XML, по аналогии с CSV.
Для создания информационной системы для работы с сотрудниками компании, студентами вуза или учениками школы вам нужно определить классы, представляющие соответствующих сотрудников, студентов или учеников, а также методы для выполнения операций с ними (например, добавление, удаление, поиск). Какие классы и методы необходимы зависит от требований вашей информационной системы. Приведенные выше примеры должны дать вам представление о том, как начать