我試圖在 kattis Left beehind上嘗試一個問題,我的輸出是正確的,但不知何故,我的輸入被寫成我很困惑的輸出。誰能告訴我問題出在哪里以及如何擺脫輸出中的數字?
這是我的代碼:(我使用 javascript)
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
var nums = line.split(' ');
var x = parseInt(nums[0]);
var y = parseInt(nums[1]);
if (x==0 && y==0 ) {
return;
}
if (x y==13) {
console.log("Never speak again.")
}
else if (y>x) {
console.log("Left Beehind.")
}
else if ( x > y ) {
console.log ("To the convention.")
}
else{
console.log("Undecided.")
}
});
這是我的輸出
17 3
To the convention.
13 14
Left Beehind.
8 5
Never speak again.
44 44
Undecided.
0 0
uj5u.com熱心網友回復:
您的輸入與輸出一起寫入,因為您指定process.stdout了 NodeJS 控制臺作為readline介面的輸出。
因此,成功讀取行,為它接收/找到的每一行readline發出事件,然后您正在執行一些邏輯并使用列印一些文本(這反過來用于列印到 NodeJS 控制臺)。最后,將線路流式傳輸到相同的輸出。lineconsole.logprocess.stdoutreadline
洗掉該output選項,它應該可以按預期作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/462542.html
標籤:javascript
上一篇:呼叫相同的函式將element.style.display更改為在具有不同結果的兩個不同頁面上“阻止”
下一篇:無法檢查物件的變數是否存在
