[英]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.