在下面的程序中,我创建了两个文件,一个是导出模块,另一个文件是在 switch case 中使用该模块,我的目标是使用 switch case 制作一个基本的计算器程序,其中允许用户输入超过有一次,为了做到这一点,我使用了一个无限的 while 循环,但问题是在 while(1) 之后的 Prompt.get() 行,程序的控制没有停止从用户那里获取输入,并且它继续无限循环。为了具体指出该行,我对其发表了评论。
数学.js
module.exports={
add:function(a,b)
{
return a+b;
},
sub: (a,b)=> a-b,
divide: (a,b) => a/b,
multiply: (a,b) => a*b
}
'another js file.'
const math=require('./math');
const prompt=require('prompt');
prompt.start();
console.log("\n1.Add\n2.Substract\n3.Divide\n4.Multiply\n5.Exit\nEnter your choice (1-5):\n");
while(1)
{
//here control of program is not stopping to take input and it continuously going on in a infinite loop
prompt.get([{
name: 'firstNumber',
type: 'number'
},{
name: 'secondNumber',
type: 'number'
}],function(err,result){
if(err) {onErr(err);}
prompt.get({
name:'choice',
type: 'number'
},function(err,result){
if(err){ onErr(err)}
switch(result.choice)
{
case 1:
console.log("sum is "+math.add(result.firstNumber,result.secondNumber));
break;
case 2:
console.log(`Substraction is ${math.sub(result.firstNumber,result.secondNumber)}`);
break;
case 3:
console.log(`Division is ${math.divide(result.firstNumber,result.secondNumber)}`);
break;
case 4:
console.log(`multiplication is ${math.multiply(result.firstNumber,result.secondNumber)}`)
break;
case 5: process.exit(0);
default: console.log("You had entered invalid choice.");
break;
}
})
});
倚天杖
相关分类