我正在尝试使用Node的读取库库来做一些算法问题:readline。 (实际上,这是由课程提出的。)
输入代码为:
var readline = require('readline');
var lineNumber = 0;
process.stdin.setEncoding('utf8');
var rl = readline.createInterface({
input: process.stdin,
terminal: false
});
rl.on('line', readLine);
function readLine (line) {
// Do some work here.
}
问题是计算n个数的总和。作为输入,我们有: 1.在第一行中,我们要计算总和的数字的数量。 2.第二行将包含以空格分隔的“n”数字。
输入的示例如下: 五 1 4 8 7 9 这种情况下的输出: 25
我如何使用这个库(我可以用Java,C ++等做到这一点。但我不知道如何使用javascript读取多个输入行)
答案 0 :(得分:3)
var readline = require('readline');
var lineNumber = 0;
var NumOfNum;
process.stdin.setEncoding('utf8');
var rl = readline.createInterface({
input: process.stdin,
terminal: false
});
rl.on('line', readLine);
console.log("Provide number of Numbers to sum:");
function readLine (line) {
if (lineNumber == 0) {
if (!isNaN(parseInt(line))) {
NumOfNum = parseInt(line);
lineNumber++;
console.log("Provide " + NumOfNum + " numbers sepearted by space to add: ");
} else {
console.log("Invalid Input");
}
} else {
var sum = line.split(" ");
if (sum.length != NumOfNum) {
console.log("Given more/less than " + NumOfNum + " Try again");
} else {
sum = sum.reduce(function(a, b) {
return (a*1) + (b*1);
});
console.log("Total: " + sum);
process.exit();
}
}
}