Loading...
simonses avatar simonses 0 Точки

07. Operations Between Numbers - Programming Basics -JAVA Test #5 (Incorrect answer)

Не мога да разбера защо и какво е грешно в решението ми на посочената. Judge ми дава 90% с грешка: Test #5 (Incorrect answer), но грешката не е показана.

Ето го и кода:

//----------------------------------------------------------------

import java.util.Scanner;

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

        int n1 = Integer.parseInt(scanner.nextLine());
        int n2 = Integer.parseInt(scanner.nextLine());
        char sign = scanner.nextLine().charAt(0);
        int res;

        switch (sign) {
            case '+':
                res = n1 + n2;
                printDefMsg(n1, sign, n2, res, evenOdd(res));
                break;
            case '-':
                res = n1 - n2;
                printDefMsg(n1, sign, n2, res, evenOdd(res));
                break;
            case '*':
                res = n1 * n2;
                printDefMsg(n1, sign, n2, res, evenOdd(res));
                break;
            case '/':
                if (n2 == 0){
                    printZeroMsg(n1);
                }
                else {
                    Double nd1 = n1 * 1.0;
                    Double res1 = nd1 / n2;
                    System.out.printf("%d %c %d = %.2f", n1, sign, n2, res1);
                }
                break;
            case '%':
                if (n2 == 0){
                    printZeroMsg(n1);
                }
                else {
                    res = n1 % n2;
                    System.out.printf("%d %c %d = %d", n1, sign, n2, res);
                }
                break;
            default:
                break;
        }
    }

    private static String evenOdd(int number){
        String evenOrOdd = "even";
        if (number % 2 == 1){
            evenOrOdd = "odd";
        }
        return evenOrOdd;
    }

    private static void printZeroMsg(int n1){
        System.out.printf("Cannot divide %d by zero ", n1);
    }

    private static void printDefMsg(int n1, char sign, int n2, int res, String evenOdd){
        System.out.printf("%d %c %d = %d - %s", n1, sign, n2, res, evenOdd);
    }
}

//---------------------------------------------------------------------------------

 

Ще се радвам ако някой може да ми помогне да го дебъгна.

условие линк:

https://softuni.bg/trainings/resources/officedocument/37449/exercise-problem-descriptions-programming-basics-with-java-january-2019/2211

задача 8

 

 

0
Programming Basics 03/02/2019 19:58:04
dstoianov891 avatar dstoianov891 18 Точки

Хм и аз не мога да открия грешката, но на мен ми дава 100т. Ако искаш разгледай моя код и може да сравниш. Успех! :)

 

https://pastebin.com/3jSJZh1P

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