簡體   English   中英

我無法在Snode.js中使用平方程序

[英]I cant get a squaring program to work in node.js

我對node.js非常陌生,我正在嘗試完成一個簡單的將數字平方的程序。 這就是我到目前為止

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。我不知道出了什么問題。

每當您提交數字時, 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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM