Loading...
krustev_84 avatar krustev_84 7 Точки

4.2. Complex Conditions - 03. Operations . 70/100 - NAN

Здравейте. За първи път задавам въпрос тук и моля да бъдете снизходителни ако не съм го направил напълно според правилата.

     

Та така, мъча се с една задача. Дава ми 70/100 , като за първи път се сблъсквам с подобен отговор от джъджа , а именно ' NaN undefined NaN = 0 - even' . Може би проблема е в нещо супер дребно или пък съм съвсем оплескал нещата, но моля ако някой има отговор на въпроса , нека ми помогне.  Ето го и кода : https://pastebin.com/RFCsXHac . Условието на задачата обаче го чета от пдф и не знам как да намеря линк за него , за да ви го покажа.

П.П. Търсих във форума преди да пиша , но подобен проблем не успях да октрия.

Благодаря предварително .

Тагове:
0
Programming Basics with JavaScript 19/02/2020 11:04:58
kstoqnov avatar kstoqnov 5 Точки

Много грубо изпълнение но поне ще сравниш.Задължително го форматирай

 

function solve(arg){

 

    number1 = Number(arg.shift());

    number2 = Number(arg.shift());

    operator = arg.shift();

 

        result = 0;

 

        switch(operator){

 

            case ("+"):

                result = number1 + number2;

 

                if(result % 2 == 0){

 

                    console.log(`${number1} ${operator} ${number2} = ${result} - even`);

 

                }else{

 

                    

                    console.log(`${number1} ${operator} ${number2} = ${result} - odd`);

 

                }

 

            break;

 

            case ("-"):

                result = number1 - number2;

 

                if(result % 2 == 0){

 

                    console.log(`${number1} ${operator} ${number2} = ${result} - even`);

 

                }else{

 

                    

                    console.log(`${number1} ${operator} ${number2} = ${result} - odd`);

 

                }

 

            break;

 

            case ("*"):

                result = number1 * number2;

 

                if(result % 2 == 0){

 

                    console.log(`${number1} ${operator} ${number2} = ${result} - even`);

 

                }else{

 

                    

                    console.log(`${number1} ${operator} ${number2} = ${result} - odd`);

 

                }


 

            break;

 

            case ("/"):

 

                if(number2 == 0){

                    console.log(`Cannot divide ${number1} by zero`);

 

                }else{

                    let result2 = (number1*0.1) / (number2*0.1);

                    

                    console.log(`${number1} ${operator} ${number2} = ${result2.toFixed(2)}`);

                }

 

            break;

 

            case "%":

 

            if(number2 == 0){

                console.log(`Cannot divide ${number1} by zero`);

 

            }else {

 

                result = number1 % number2;

                console.log(`${number1} ${operator} ${number2} = ${result}`);

            }

 

            break;

        }


 

}

0
krustev_84 avatar krustev_84 7 Точки

Много  благодаря.  Съвсем не мислех в посока switch - case. Явно още не се е наместила тая конструкция в съзнанието ми . Само че се чудя... с  моя код в джъдж не става, да. Но пък в VSC си ми върви чудесно. Знаете ли откъде идва това . Още повече ми е интересно защо ми излиза в джъдж така :  ' NaN undefined NaN = 0 - even . 

0
kstoqnov avatar kstoqnov 5 Точки

ето и твоята задача 100 %. забравил си форматирането.Колкото до това където го питаш при мен няма такова нещо.NaN  и undefined си говорят сами за себе си.По принцип дебъг за да видиш защо се получва.Съжалявам за бързия и малък отговор просто много таскове имам.Дано съм ти бил полезен 

function operators(input)

{

    let N1 = Number(input.shift());

    let N2 = Number(input.shift());

    let nOperator = input.shift();

 

    let result = 0;

    let output = ``;

 

 

    if ( N2 === 0 && (nOperator === '/' || nOperator === '%'))

    {

        output = `Cannot divide ${N1} by zero`;

    }

    else if ( nOperator === '/')

    {

        result = N1 / N2;

        output = `${N1} ${nOperator} ${N2} = ${result.toFixed(2)}`;

    }

    else if (nOperator === '%')

    {

        result = N1 % N2;

        output = `${N1} ${nOperator} ${N2} = ${result}`;

    }

    else

    {

        if (nOperator === '+')

        {

            result = N1 + N2;

        }

        else if (nOperator ==='-')

        {

            result = N1 - N2;

        }

        else if (nOperator === '*')

        {

            result = N1 * N2;

        }

 

 

 

        let numberIs = '';

        if ( result % 2 == 0)

        {

            numberIs = 'even';

        }

        else

        {

        numberIs ='odd';

        }

   

        output = `${N1} ${nOperator} ${N2} = ${result} - ${numberIs}`;

 

       

    }

         console.log( output );

 

}

0
krustev_84 avatar krustev_84 7 Точки

 

Да, не форматирам. До сега ми се разминаваше . Благодаря ти за бързите отговори. Успешен ден !

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