2015-02-05 3 views
-1

Так что у меня здесь проблемы. Это задание, в основном я задаю вопрос о том, что такое 3 + 3, и пользователь может ввести правильный ответ в ... 6, и он скажет «Правильно!». Если это не номер, тогда он скажет: «Пожалуйста, введите число ...» Если это 5 или 7, тогда он скажет «Очень близко, повторите попытку», если это что-то другое, чем 5 6 или 7, это скажет «неверно» », и если ничего не напечатано, нужно сказать« давай, ты сможешь это сделать ». Что я здесь делаю неправильно? В настоящее время все, что он делает, говорит «да», 6 верно! даже когда я печатаю другое числоЧто я здесь делаю неправильно? Else if

var question; 
question = window.prompt("What's the sum of 3+3?", ""); 

question = parseFloat(question); 
if (isNaN(question)) { 
    output = "Please enter a number"; 
} else if (question = 6) { 
    output = "Yes " + question + " is correct!"; 
} else if (question = 5) { 
    output = "Very close, try again!"; 
} else if (question = 7) { 
    output = "Very close, try again!"; 
} else if (question = null) { 
    output = "Come on, you can do it!!"; 
} else { 
    output="Incorrect, Please try again" 
} 

document.write(output); 
+4

'' == не то же самое, как '' = –

+2

Также 3 + 3, 6 так что вы должны приспособить для случая, когда угловой 3 + 3 = 9;) –

+0

святое дерьмо, спасибо, ты изменил его. – DLH

ответ

1

Как отмечалось в ответе @Anik Ислама абхи и комментарии =является не то же самое, что==.

== является оператором сравнения (read more)

= является оператор присваивания (read more)

Теперь, что вам нужно сделать, это решить, что означает для пользователя, чтобы войти ничего? Предполагаю, вы имеете в виду любое количество пробелов.

Что вы можете сделать, это всегда удалять все пробелы из введенного ответа, и если пользователь все еще вводил ничего, тогда вы знаете, что вы должны напечатать «Да ладно, вы можете это сделать!»

// get the question and remove all whitespace so we know if the user enter an empty string 
 
var question = window.prompt("What's the sum of 3+3?","").trim().replace(' ',''); 
 
    
 
if (!question) {        // nothing 
 
    output = "Come on, you can do it!!"; 
 
} else if(isNaN(question)) {     // not a number 
 
output = "Please enter a number"; 
 
} else if (question == 6) {     // correct answer 
 
    output = "Yes " +question+" is correct!"; 
 
} else if (question == 5 || question == 7) { // close answer 
 
    output = "Very close, try again!";  
 
} else { 
 
    output="Incorrect, Please try again"  // incorrect answer 
 
} 
 

 
document.write(output);

2

В вашем коде вы задаете вопрос = 8, если это означает, что вы задаете вопрос 8.

= означает назначать и == обозначения сравнения

Попробуйте это:

var question; 
 
question = window.prompt("What's the sum of 3+3?",""); 
 

 
question = parseFloat(question); 
 
if (isNaN(question)) 
 
{ 
 
    output= "Please enter a number";  
 
}else if (question==6) 
 
{ 
 
    output="Yes " +question+" is correct!"; 
 
}else if (question==5){ 
 
    output="Very close, try again!";  
 

 
}else if (question==7){ 
 
    output="Very close, try again!"; 
 
}else if (question==null){ 
 
    output="Come on, you can do it!!"; 
 
} 
 

 
else {output="Incorrect, Please try again"} 
 

 

 

 

 

 
document.write(output);

+0

спасибо, все работает сейчас .. кроме одного. когда ничего не вводится, он говорит «пожалуйста, введите число». Почему нуль не работает? – DLH

+0

естьNaN означает нет число. null - это не число, которое означает, что оно возвращает true, а затем показывает действия условий –

Смежные вопросы