javascript - 使用javascript读取多个输入行

标签 javascript node.js readline

我正在尝试使用 Node 的读取行库来解决一些算法问题:readline。 (其实是类(class)提出来的)。

输入代码是:

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”个数字。

输入示例如下: 5个 1 4 8 7 9 这种情况下的输出: 25

我如何使用这个库来做到这一点(我可以使用 Java、C++ 等来做到这一点。但我不知道如何使用 javascript 读取多行输入)

最佳答案

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();
        }
    }
}

关于javascript - 使用javascript读取多个输入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38747479/

相关文章:

javascript - 创建一个简单的 Node.js 静态服务器

java - BufferedReader readLine 在遇到空字符串时停止读取

具有交互式 child_process 产卵的 Node.js readline

javascript - 什么是最有效的事件声明方式?

javascript - JSON列表优化

javascript - d3 linkHorizo​​ntal 用于直线曲线

javascript - NodeJS 套接字发出返回未定义

javascript - Ajax 未附加到我的下拉列表(C# MVC)

ios - 使用 Node.js 服务器从 iOS 应用程序发送文本(电子邮件)

c - C 中的制表符补全(readline 库)