Професионална програма
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