Софтуерно Инженерство
Loading...
musakahero avatar musakahero 0 Точки

[Homework] [Programming Basics with JAVA] Задача 13. Конзолен междувалутен конвертор

Здравейте колеги, поблъсках си главата как евентуално може да се реши тази задачка, нацъках някакво решение ама ми се струва прекалено дълго. Ако някой и който я е решил по някакъв по-прост и кратък начин, моля да сподели! Ето и PasteBin на това, което нацъках:

https://pastebin.com/zgRdtmXs

 

LenHristova avatar LenHristova 2 Точки

Аз го направих така:    https://pastebin.com/216RV9zU

0
milenmihalkov avatar milenmihalkov 2 Точки

Според мен по-правилно е да имаш стойностите ( Валутен курс ) дефинирани само на 1 място, а надолу да работиш само с имената на променливите, защото така както си го направила, ако имаш повече валути и куса се сменя ще трябва да сменяш стойностите на много места. :) 

0
LenHristova avatar LenHristova 2 Точки

Всъщност, ако курсът се сменя, ще трябва да се променят стойностите само на две места, не са много. В конкретния случай мисля, че не е чак такъв проблем, но си прав, че е добре да се изведат стойностите на едно място, най-малкото за по-добра прегледност и четимост на кода :)

0
vdjalov avatar vdjalov 13 Точки

Или нещо такова:

import java.util.Scanner;

public class currencyConverter1 {

    public static void main(String[] args) {
        
        
        Scanner scanner = new Scanner(System.in);
        
            double amount = Double.parseDouble(scanner.nextLine());
            int inputCurrency = Integer.parseInt(scanner.nextLine());
            int outputCurrency = Integer.parseInt(scanner.nextLine());
            
            double BGN = 1;
            double USD = 1.79549;
            double EUR = 1.95583;
            double GBP = 2.53405;
            
            
            double rateInput = 0;
            double rateOutput = 0;
            
            switch(inputCurrency){
            case 1:
                rateInput = BGN;
                break;
            case 2:
                rateInput = USD;
                break;
            case 3:    
                rateInput = EUR;
                break;
            case 4: 
                rateInput = GBP;
                break;
            }
            
            
            switch(outputCurrency){
            case 1:
                rateOutput = BGN;
                break;
            case 2:
                rateOutput = USD;
                break;
            case 3:
                rateOutput = EUR;
                break;
            case 4:    
                rateOutput = GBP;
                break;
            }
            
                System.out.printf("%.2f",(amount*rateInput)/rateOutput);
    }

}
 

0
VladimirD avatar VladimirD 6 Точки

Благодаря! Помогна ми да си открия грешките в моя код :)

0