Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用switch语句检查数字是奇数还是偶数的程序_Javascript_Switch Statement - Fatal编程技术网

Javascript 使用switch语句检查数字是奇数还是偶数的程序

Javascript 使用switch语句检查数字是奇数还是偶数的程序,javascript,switch-statement,Javascript,Switch Statement,我试图编写一个程序,使用switch语句来检查一个数字是奇数还是偶数 出于某种原因,我没有在控制台上打印任何内容。但是,当我添加默认案例时,它会自动打印默认的console.logInvalid输入。有人能解释为什么这种方法不起作用吗 var enteredNumber = 40; var enteredNumber_div_by2 = enteredNumber/2; switch(enteredNumber_div_by2) { case Number.isInteger(ente

我试图编写一个程序,使用switch语句来检查一个数字是奇数还是偶数

出于某种原因,我没有在控制台上打印任何内容。但是,当我添加默认案例时,它会自动打印默认的console.logInvalid输入。有人能解释为什么这种方法不起作用吗

var enteredNumber = 40;
var enteredNumber_div_by2 = enteredNumber/2;

switch(enteredNumber_div_by2) {
    case Number.isInteger(enteredNumber_div_by2) === true:
        console.log(enteredNumber.toString() + " is an even number.");
        break;
    case Number.isInteger(enteredNumber_div_by2) === false:
        console.log(enteredNumber.toString() + " is an odd number.");
        break;
    case enteredNumber_div_by2.isNaN() === true:
        console.log("Invalid input");
        break;
    default: 
        console.log("Invalid input");
}
编辑:如果其他人像我一样试图理解switch语句,我根据Rocket的答案修改了我的代码,现在就可以了。我意识到这不是检查一个数字是奇数还是偶数的最好方法,但我这样做只是为了理解switch语句。另外,我意识到我的代码并没有真正检查输入是否是一个数字,所以即使你输入hi,它也会返回hi是一个奇数。以下是我修改后的转换声明:

switch(Number.isInteger(enteredNumber_div_by2) === true) {
    case true:
        console.log(enteredNumber.toString() + " is an even number.");
        break;
    case false:
        console.log(enteredNumber.toString() + " is an odd number.");
        break;
    default:
        console.log("Invalid input")

编辑2:尼娜的答案效果最好:

switch (enteredNumber % 2) {
    case 0:
        console.log(enteredNumber.toString() + " is an even number.");
        break;
    case 1:
        console.log(enteredNumber.toString() + " is an odd number.");
        break;
    default:
        console.log("Invalid input")
}


您可以取余数并检查其值

接受两个值并使用严格的比较,如==

如果在案例内部使用布尔值,则需要在开关部分使用另一个相应的布尔值

即使Javascript提供在这两个部分使用动态内容,有些人倾向于只接受常量值来比较,而不是动态值

var enteredNumber=40; 开关输入号码%2{ 案例0: console.logenteredNumber+是偶数。; 打破 案例1: console.logenteredNumber+是一个奇数。; 打破 违约: console.logInvalid输入;
} 您可以取余数并检查其值

接受两个值并使用严格的比较,如==

如果在案例内部使用布尔值,则需要在开关部分使用另一个相应的布尔值

即使Javascript提供在这两个部分使用动态内容,有些人倾向于只接受常量值来比较,而不是动态值

var enteredNumber=40; 开关输入号码%2{ 案例0: console.logenteredNumber+是偶数。; 打破 案例1: console.logenteredNumber+是一个奇数。; 打破 违约: console.logInvalid输入; } 这不是switch语句的工作方式。开关用于将变量与值列表进行比较。例如:

let a = 'a';
switch(a) {
    case 'a':
        break;
    case 'b':
        break;
}
如果要将Number.isIntegerenteredNumber\u div\u检查为2,则只需使用If/else:

如果出于任何原因,您真的想在此处使用开关,则必须执行以下操作:

switch (Number.isInteger(enteredNumber_div_by2)) {
    case true:
        console.log(enteredNumber.toString() + " is an even number.");
        break;
    case false:
        console.log(enteredNumber.toString() + " is an odd number.");
        break;
}
这不是switch语句的工作方式。开关用于将变量与值列表进行比较。例如:

let a = 'a';
switch(a) {
    case 'a':
        break;
    case 'b':
        break;
}
如果要将Number.isIntegerenteredNumber\u div\u检查为2,则只需使用If/else:

如果出于任何原因,您真的想在此处使用开关,则必须执行以下操作:

switch (Number.isInteger(enteredNumber_div_by2)) {
    case true:
        console.log(enteredNumber.toString() + " is an even number.");
        break;
    case false:
        console.log(enteredNumber.toString() + " is an odd number.");
        break;
}

您不需要switch语句。你可以用模。偶数是x%2==0,奇数是x%2==1。好的,谢谢!我实际上只是在学习如何使用switch语句,所以我尝试使用这种方法。我只是想知道为什么它不起作用。你不需要switch语句。你可以用模。偶数是x%2==0,奇数是x%2==1。好的,谢谢!我实际上只是在学习如何使用switch语句,所以我尝试使用这种方法。我只是想知道为什么它不起作用。火箭,这正是我要找的。根据我在这个论坛上读到的内容,我知道有更好的方法可以做到这一点,但我只是用这种方法来更好地理解switch语句。非常感谢。火箭,这正是我要找的。根据我在这个论坛上读到的内容,我知道有更好的方法可以做到这一点,但我只是用这种方法来更好地理解switch语句。非常感谢。非常感谢。这正是我想做的。谢谢!这正是我想做的。