Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

VasilK avatar VasilK 40 Точки

4. Metric_Convertion

Някой с по елегантно решение по задача 4 от упражненията?

import java.util.Scanner;

public class Metric_Converter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        double n = Double.parseDouble(scanner.nextLine());
        String input = scanner.nextLine();
        String output = scanner.nextLine();



        /* meters */
        if (input.equals("m") & output.equals("mm")) {
            System.out.printf("%.8f", (n * 1000));

        } else if (input.equals("m") & output.equals("cm")) {
            System.out.printf("%.8f", (n * 100));

        } else if (input.equals("m") & output.equals("mi")) {
            System.out.printf("%.8f", (n * 0.000621371192));

        } else if (input.equals("m") & output.equals("in")) {
            System.out.printf("%.8f", (n * 39.3700787));

        } else if (input.equals("m") & output.equals("km")) {
            System.out.printf("%.8f", (n * 0.001));

        } else if (input.equals("m") & output.equals("ft")) {
            System.out.printf("%.8f", (n * 3.2808399));

        } else if (input.equals("m") & output.equals("yd")) {
            System.out.printf("%.8f", (n * 1.0936133));

        } else if (input.equals("m") & output.equals("m")) {
            System.out.printf("%.8f", n);

        }


        /* milimiters */
        if (input.equals("mm") & output.equals("m")) {
            System.out.printf("%.8f", (n / 1000));

        } else if (input.equals("mm") & output.equals("cm")) {
            System.out.printf("%.8f", (n * 100) / 1000);

        } else if (input.equals("mm") & output.equals("mi")) {
            System.out.printf("%.8f", (n * 0.000621371192) / 1000);

        } else if (input.equals("mm") & output.equals("in")) {
            System.out.printf("%.8f", (n * 39.3700787) / 1000);

        } else if (input.equals("mm") & output.equals("km")) {
            System.out.printf("%.8f", (n * 0.001) / 1000);

        } else if (input.equals("mm") & output.equals("ft")) {
            System.out.printf("%.8f", (n * 3.2808399) / 1000);

        } else if (input.equals("mm") & output.equals("yd")) {
            System.out.printf("%.8f", (n * 1.0936133) / 1000);

        } else if (input.equals("mm") & output.equals("mm")) {
        System.out.printf("%.8f", n);

        }

        /* centimiters */
        if (input.equals("cm") & output.equals("m")) {
            System.out.printf("%.8f", (n / 100));

        } else if (input.equals("cm") & output.equals("mm")) {
            System.out.printf("%.8f", (n * 1000) / 100);

        } else if (input.equals("cm") & output.equals("mi")) {
            System.out.printf("%.8f", (n * 0.000621371192) / 100);

        } else if (input.equals("cm") & output.equals("in")) {
            System.out.printf("%.8f", (n * 39.3700787) / 100);

        } else if (input.equals("cm") & output.equals("km")) {
            System.out.printf("%.8f", (n * 0.001) / 100);

        } else if (input.equals("cm") & output.equals("ft")) {
            System.out.printf("%.8f", (n * 3.2808399) / 100);

        } else if (input.equals("cm") & output.equals("yd")) {
            System.out.printf("%.8f", (n * 1.0936133) / 100);

        } else if (input.equals("cm") & output.equals("cm")) {
            System.out.printf("%.8f", n);

        }

        /* mile */
        if (input.equals("mi") & output.equals("m")) {
            System.out.printf("%.8f", (n / 0.000621371192));

        } else if (input.equals("mi") & output.equals("mm")) {
            System.out.printf("%.8f", (n * 1000) / 0.000621371192);

        } else if (input.equals("mi") & output.equals("cm")) {
            System.out.printf("%.8f", (n * 100) / 0.000621371192);

        } else if (input.equals("mi") & output.equals("in")) {
            System.out.printf("%.8f", (n * 39.3700787) / 0.000621371192);

        } else if (input.equals("mi") & output.equals("km")) {
            System.out.printf("%.8f", (n * 0.001) / 0.000621371192);

        } else if (input.equals("mi") & output.equals("ft")) {
            System.out.printf("%.8f", (n * 3.2808399) / 0.000621371192);

        } else if (input.equals("mi") & output.equals("yd")) {
            System.out.printf("%.8f", (n * 1.0936133) / 0.000621371192);

        } else if (input.equals("mi") & output.equals("mi")) {
            System.out.printf("%.8f", n);

        }


        /* inch */
        if (input.equals("in") & output.equals("m")) {
            System.out.printf("%.8f", (n / 39.3700787));

        } else if (input.equals("in") & output.equals("mm")) {
            System.out.printf("%.8f", (n * 1000) / 39.3700787);

        } else if (input.equals("in") & output.equals("cm")) {
            System.out.printf("%.8f", (n * 100) / 39.3700787);

        } else if (input.equals("in") & output.equals("mi")) {
            System.out.printf("%.8f", (n * 0.000621371192) / 39.3700787);

        } else if (input.equals("in") & output.equals("km")) {
            System.out.printf("%.8f", (n * 0.001) / 39.3700787);

        } else if (input.equals("in") & output.equals("ft")) {
            System.out.printf("%.8f", (n * 3.2808399) / 39.3700787);

        } else if (input.equals("in") & output.equals("yd")) {
            System.out.printf("%.8f", (n * 1.0936133) / 39.3700787);

        } else if (input.equals("in") & output.equals("in")) {
            System.out.printf("%.8f", n);

        }

        /* kilometer */
        if (input.equals("km") & output.equals("m")) {
            System.out.printf("%.8f", (n / 0.001));

        } else if (input.equals("km") & output.equals("mm")) {
            System.out.printf("%.8f", (n * 1000) / 0.001);

        } else if (input.equals("km") & output.equals("cm")) {
            System.out.printf("%.8f", (n * 100) / 0.001);

        } else if (input.equals("km") & output.equals("mi")) {
            System.out.printf("%.8f", (n * 0.000621371192) / 0.001);

        } else if (input.equals("km") & output.equals("in")) {
            System.out.printf("%.8f", (n * 39.3700787) / 0.001);

        } else if (input.equals("km") & output.equals("ft")) {
            System.out.printf("%.8f", (n * 3.2808399) / 0.001);

        } else if (input.equals("km") & output.equals("yd")) {
            System.out.printf("%.8f", (n * 1.0936133) / 0.001);

        } else if (input.equals("km") & output.equals("km")) {
            System.out.printf("%.8f", n);

        }

        /* feet */
        if (input.equals("ft") & output.equals("m")) {
            System.out.printf("%.8f", (n / 3.2808399));

        } else if (input.equals("ft") & output.equals("mm")) {
            System.out.printf("%.8f", (n * 1000) / 3.2808399);

        } else if (input.equals("ft") & output.equals("cm")) {
            System.out.printf("%.8f", (n * 100) / 3.2808399);

        } else if (input.equals("ft") & output.equals("mi")) {
            System.out.printf("%.8f", (n * 0.000621371192) / 3.2808399);

        } else if (input.equals("ft") & output.equals("in")) {
            System.out.printf("%.8f", (n * 39.3700787) / 3.2808399);

        } else if (input.equals("ft") & output.equals("km")) {
            System.out.printf("%.8f", (n * 0.001) / 3.2808399);

        } else if (input.equals("ft") & output.equals("yd")) {
            System.out.printf("%.8f", (n * 1.0936133) / 3.2808399);

        } else if (input.equals("ft") & output.equals("ft")) {
            System.out.printf("%.8f", n);

        }

        /* yard */
        if (input.equals("yd") & output.equals("m")) {
            System.out.printf("%.8f", (n / 1.0936133));

        } else if (input.equals("yd") & output.equals("mm")) {
            System.out.printf("%.8f", (n * 1000) / 1.0936133);

        } else if (input.equals("yd") & output.equals("cm")) {
            System.out.printf("%.8f", (n * 100) / 1.0936133);

        } else if (input.equals("yd") & output.equals("mi")) {
            System.out.printf("%.8f", (n * 0.000621371192) / 1.0936133);

        } else if (input.equals("yd") & output.equals("in")) {
            System.out.printf("%.8f", (n * 39.3700787) / 1.0936133);

        } else if (input.equals("yd") & output.equals("km")) {
            System.out.printf("%.8f", (n * 0.001) / 1.0936133);

        } else if (input.equals("yd") & output.equals("ft")) {
            System.out.printf("%.8f", (n * 3.2808399) / 1.0936133);

        } else if (input.equals("yd") & output.equals("yd")) {
            System.out.printf("%.8f", n);

        }


    }
}
Тагове:
0
Programming Basics with Java
Stoqn avatar Stoqn 27 Точки
Best Answer
package com.company;

import java.util.Scanner;

public class MetricConverter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        double number = Double.parseDouble(scanner.nextLine());
        String inputUnit = scanner.nextLine();
        String outputUnit = scanner.nextLine();
        double convertUnit = 0.0;

        inputUnit = inputUnit.toLowerCase();
        outputUnit = outputUnit.toLowerCase();

        if (inputUnit.equals("m")) {
            convertUnit = number / 1;
        } else if (inputUnit.equals("mm")) {
            convertUnit = number / 1000;
        } else if (inputUnit.equals("cm")) {
            convertUnit = number / 100;
        } else if (inputUnit.equals("mi")) {
            convertUnit = number / 0.000621371192;
        } else if (inputUnit.equals("in")) {
            convertUnit = number / 39.3700787;
        } else if (inputUnit.equals("km")) {
            convertUnit = number / 0.001;
        } else if (inputUnit.equals("ft")) {
            convertUnit = number / 3.2808399;
        } else {
            convertUnit = number / 1.0936133;
        }

        if (outputUnit.equals("m")) {
            convertUnit = convertUnit * 1;
        } else if (outputUnit.equals("mm")) {
            convertUnit = convertUnit * 1000;
        } else if (outputUnit.equals("cm")) {
            convertUnit = convertUnit * 100;
        } else if (outputUnit.equals("mi")) {
            convertUnit = convertUnit * 0.000621371192;
        } else if (outputUnit.equals("in")) {
            convertUnit = convertUnit * 39.3700787;
        } else if (outputUnit.equals("km")) {
            convertUnit = convertUnit * 0.001;
        } else if (outputUnit.equals("ft")) {
            convertUnit = convertUnit * 3.2808399;
        } else {
            convertUnit = convertUnit * 1.0936133;
        }
        System.out.printf("%.8f", convertUnit);
    }
}
1
20/09/2018 18:04:44
Vasetoo0 avatar Vasetoo0 5 Точки
package ConditionalStatements;

import java.util.Scanner;

public class MetricConverter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        double unit = Double.parseDouble(scanner.nextLine());
        String from = scanner.nextLine();
        String to = scanner.nextLine();

        if (from.equals("mm")) {
            unit = unit / 1000;
        }else if (from.equals("cm")) {
            unit = unit / 100;
        }else if (from.equals("mi")) {
            unit = unit / 0.000621371192;
        }else if (from.equals("in")) {
            unit = unit / 39.3700787;
        }else if (from.equals("km")) {
            unit = unit / 0.001;
        }else if (from.equals("ft")) {
            unit = unit / 3.2808399;
        }else if (from.equals("yd")) {
            unit = unit / 1.0936133;
        }

        if (to.equals("mm")) {
            unit = unit * 1000;
        }else if (to.equals("cm")) {
            unit = unit * 100;
        }else if (to.equals("mi")) {
            unit = unit * 0.000621371192;
        }else if (to.equals("in")) {
            unit = unit * 39.3700787;
        }else if (to.equals("km")) {
            unit = unit * 0.001;
        }else if (to.equals("ft")) {
            unit = unit * 3.2808399;
        }else if (to.equals("yd")) {
            unit = unit * 1.0936133;
        }

        System.out.printf("%.8f", unit);

    }
}
0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.