1

Тема: створення конвертації валют

Усім доброго дня. Навчаюсь в університеті, та перед мною постала задача написати щось схоже на конвертацію валют. І це потрібно зробити, щоб він був відносно актуального курсу та користувач сам вводив валюту. Як це краще зробити? Або можете відправити декілька прикладів схожих кодів?

2

Re: створення конвертації валют

GPT-4 написав:

Для реалізації конвертації валют у Java, я рекомендую використовувати API для отримання актуального курсу валют, наприклад, Open Exchange Rates (https://openexchangerates.org/). Спочатку потрібно зареєструватися на сайті та отримати API-ключ. Після цього можна написати програму, яка буде отримувати курс валют і конвертувати їх за допомогою користувацького вводу.

Ось приклад коду на Java, який використовує Open Exchange Rates API:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class CurrencyConverter {
    private static final String API_KEY = "Ваш_API_ключ";
    private static final String API_URL = "https://openexchangerates.org/api/latest.json?app_id=" + API_KEY;

    public static void main(String[] args) throws Exception {
        JsonObject exchangeRates = fetchExchangeRates();
        convertCurrency(exchangeRates);
    }

    private static JsonObject fetchExchangeRates() throws Exception {
        URL url = new URL(API_URL);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("Accept", "application/json");

        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String response = reader.readLine();
        reader.close();

        JsonObject jsonObject = JsonParser.parseString(response).getAsJsonObject();
        return jsonObject.getAsJsonObject("rates");
    }

    private static void convertCurrency(JsonObject exchangeRates) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("Введіть код валюти, з якої конвертуємо (наприклад, USD):");
        String fromCurrency = scanner.next().toUpperCase();
        double fromRate = exchangeRates.get(fromCurrency).getAsDouble();

        System.out.println("Введіть код валюти, в яку конвертуємо (наприклад, UAH):");
        String toCurrency = scanner.next().toUpperCase();
        double toRate = exchangeRates.get(toCurrency).getAsDouble();

        System.out.println("Введіть суму, яку потрібно конвертувати:");
        double amount = scanner.nextDouble();

        double convertedAmount = (amount / fromRate) * toRate;
        System.out.printf("Сума після конвертації: %.2f %s\n", convertedAmount, toCurrency);
    }
}

Цей код імпортує потрібні бібліотеки, отримує дані про курс валют з Open Exchange Rates API, а потім конвертує валюту на основі введених користувачем даних. Щоб використовувати цей код, потрібно також додати бібліотеку Gson для обробки JSON-даних.

3

Re: створення конвертації валют

frz написав:
GPT-4 написав:

Для реалізації конвертації валют у Java, я рекомендую використовувати API для отримання актуального курсу валют, наприклад, Open Exchange Rates (https://openexchangerates.org/). Спочатку потрібно зареєструватися на сайті та отримати API-ключ. Після цього можна написати програму, яка буде отримувати курс валют і конвертувати їх за допомогою користувацького вводу.

Ось приклад коду на Java, який використовує Open Exchange Rates API:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class CurrencyConverter {
    private static final String API_KEY = "Ваш_API_ключ";
    private static final String API_URL = "https://openexchangerates.org/api/latest.json?app_id=" + API_KEY;

    public static void main(String[] args) throws Exception {
        JsonObject exchangeRates = fetchExchangeRates();
        convertCurrency(exchangeRates);
    }

    private static JsonObject fetchExchangeRates() throws Exception {
        URL url = new URL(API_URL);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("Accept", "application/json");

        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String response = reader.readLine();
        reader.close();

        JsonObject jsonObject = JsonParser.parseString(response).getAsJsonObject();
        return jsonObject.getAsJsonObject("rates");
    }

    private static void convertCurrency(JsonObject exchangeRates) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("Введіть код валюти, з якої конвертуємо (наприклад, USD):");
        String fromCurrency = scanner.next().toUpperCase();
        double fromRate = exchangeRates.get(fromCurrency).getAsDouble();

        System.out.println("Введіть код валюти, в яку конвертуємо (наприклад, UAH):");
        String toCurrency = scanner.next().toUpperCase();
        double toRate = exchangeRates.get(toCurrency).getAsDouble();

        System.out.println("Введіть суму, яку потрібно конвертувати:");
        double amount = scanner.nextDouble();

        double convertedAmount = (amount / fromRate) * toRate;
        System.out.printf("Сума після конвертації: %.2f %s\n", convertedAmount, toCurrency);
    }
}

Цей код імпортує потрібні бібліотеки, отримує дані про курс валют з Open Exchange Rates API, а потім конвертує валюту на основі введених користувачем даних. Щоб використовувати цей код, потрібно також додати бібліотеку Gson для обробки JSON-даних.

ось ці дві бібліотеки чомусь не бачить ( import com.google.gson.JsonObject;
import com.google.gson.JsonParser;), їх потрібно окремо добавляти?

4

Re: створення конвертації валют

GPT-4 написав:

Так, для використання бібліотеки Gson, вам потрібно додати її в ваш проект. Якщо ви використовуєте систему збирання проектів, таку як Maven або Gradle, вам потрібно додати залежність в вашому файлі конфігурації (pom.xml для Maven або build.gradle для Gradle).

Для Maven, додайте цю залежність в файл pom.xml:

<dependencies>
    ...
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.9</version>
    </dependency>
    ...
</dependencies>

Для Gradle, додайте цю залежність в файл build.gradle:

dependencies {
    ...
    implementation 'com.google.code.gson:gson:2.8.9'
    ...
}

Якщо ви не використовуєте систему збирання проектів і працюєте з чистим Java-проектом, вам потрібно завантажити JAR-файл бібліотеки Gson (можна знайти тут: https://search.maven.org/artifact/com.g … /2.8.9/jar) і додати його в ваш проект як зовнішню бібліотеку. Залежно від вашого середовища розробки, процес додавання зовнішніх бібліотек може відрізнятися, але зазвичай він передбачає додавання JAR-файлу в папку проекту та налаштування шляху збирання.

5

Re: створення конвертації валют

Здається frz вірить GPT на слово і не перевіряє лінки.

dvrs, *.jar і *.pom файли доступні за посиланями на сторінці: com/google/code/gson/gson/

6

Re: створення конвертації валют

Прихований текст

ліниві студенти цілком можуть хоча б перевірити лінки самостійно