我无法在node.js中使用平方程序

时间:2018-04-08 16:16:54

标签: javascript node.js

我对node.js非常新,我正在尝试完成一个简单的程序,它可以对数字进行平方。 This is what I have so far

process.stdin.resume();
process.stdin.setEncoding('utf8');

var stdin = '';
process.stdin.on('data', function (chunk) {
    stdin += chunk;
}).on('end', function() {
    var lines = stdin.split('\n');
    for(var i=0; i<lines.length; i++) {
        process.stdout.write("" +lines[i]*lines[i]);
    }
});`

问题在于,对于我的输出,我最终总是得到零。例如,如果我输入5,生病得到250而不是25.如果我输入25,生病得到6250而不是625.我不知道什么是错的。

1 个答案:

答案 0 :(得分:0)

每当您提交一个号码时,

stdin都会添加换行符,例如:

 5\n10\n

现在,当你这样做时:

var lines = stdin.split('\n');

你会得到:

["5", "10", ""]

所以最后是一条空行。现在,如果你支持:

process.stdout.write("" * "");

它会打印0

现在解决它从行中删除最后一个元素:

 var lines = stdin.split('\n');
 lines.pop();

您应该考虑在每次输出后打印换行符:

 for(const line of lines)
   process.stdout.write(line ** 2 + "\n");
相关问题