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

Java Валутен калкулатор

private static final double EUR = 1.95583;
        private static final double GBP = 2.53405;
        private static final double USD = 1.79549;
        private static final double BGN = 1;

    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        double EUR = 1.95583;
        double GBP = 2.53405;
        double USD = 1.79549;
        double BGN = 1;
        double a = Double.valueOf(console.nextLine());
        String b = console.nextLine();
        String c = console.nextLine();
        double kursValutaB = getExchangeRate(b);
        double kursValutaC = getExchangeRate(c);
        double result = a * kursValutaB / kursValutaC;
        System.out.println(String.valueOf(result) + c);
    }

        private static double getExchangeRate(String kodValuta) {
            if(kodValuta.equals("USD")) {
                return USD;
            }
            if(kodValuta.equals("GBP")) {
                return GBP;
            }
            if(kodValuta.equals("EUR")) {
                return EUR;
            }
            return BGN;
    }
    }
}

 

Излиза ми тази грешка

Error:(40, 1) java: class, interface, or enum expected

 

 

 

inkarnasion avatar inkarnasion 124 Точки

Без да се засягаш, но от къде го преписа, защото гледам че си го пуснал в Основи на програмирането, а в тоя код се използват методи които няма как да са от този курс laugh  Иначе кода е верен просто трябва малка промяна ето така трябва да е:

https://pastebin.com/H9AiNiZS

И само да ти кажа че така няма да мине в джъдж защото според условието трябва да е форматиран до вторият знак,а този код дава цялото число така че трябва да преработиш и изписването wink

3
IliyanBoshev avatar IliyanBoshev 1 Точки
package SimpleCalculation;


import java.util.Scanner;

public class BgKon {
        private static final double EUR = 1.95583;
        private static final double GBP = 2.53405;
        private static final double USD = 1.79549;
        private static final double BGN = 1;

    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        double EUR = 1.95583;
        double GBP = 2.53405;
        double USD = 1.79549;
        double BGN = 1;
        double a = Double.parseDouble(console.nextLine());
        String b = console.nextLine();
        String c = console.nextLine();
        double kursValutaB = getExchangeRate(b);
        double kursValutaC = getExchangeRate(c);
        double result = a * kursValutaB / kursValutaC;
        System.out.println(String.valueOf(result) + c);
    }

        private static double getExchangeRate(String kodValuta) {
            if (kodValuta.equals("USD")) {
                return USD;
            }
            if (kodValuta.equals("GBP")) {
                return GBP;
            }
            if (kodValuta.equals("EUR")) {
                return EUR;
            }
            return BGN;

    }
    }
}

 

Това е целия код.

А за преписването лично аз го писах до тук

System.out.println(String.valueOf(result) + c);

Останалата част от кода ми е помогнал човек който се занимава с програмиране.

1
inkarnasion avatar inkarnasion 124 Точки

Ясно е че човека се занимава с това след като ползва методи laugh За да ти тръгне кода махни последната скоба най отдолу както и това: "package SimpleCalculation;" И ще тръгне.Освен това ти казах че не си форматирал изхода....В условието е дадено това:"Изходът е едно число – преобразуваната сума по посочените по-горе курсове, закръглен до 2 цифри след десетичната точка" А при теб няма закръгляне, и когато стартираш програмата с този вход "20 USD BGN"  ти излиза този отговор..."35.909800000000004BGN" А трябва да получиш това..."35.91 BGN" Така че си оправи и изхода.

1
17/01/2018 20:07:47
AlucardDracula avatar AlucardDracula 364 Точки

като видях че няма клас + това което си дал като грешка "Error:(40, 1) java: class, interface, or enum expected" помиспих че си забравил да напишеш класа. smiley

мисля че в последния ред имаш излишен }, тъй като нямам IDE на комп-а проверявам с online IDE, така че без последния } се build-ва.

 

Искам да кажа че за дълъг код (по-дълъг от 15 реда ) не се толерира във форума, така че ако не искаш някой админ да ти изтрие въпроса моля просто дай линк към pastebin или някакъв друг вид сайт за споделяне на код, някои дори  използват github за тази цел.

1
17/01/2018 20:08:27