while (line = readline())

while (line = readline())

我是 JavaScript 的新手,正在尝试解决问题。我将只写 JavaScript 并且说明告诉我使用 readline(),例如像这样: while (line = readline())

但我不知道它是如何工作的,而且我在 JavaScript 中找不到任何相关信息。我想获得用户输入,然后将其放入变量中。但是当我尝试 "while (line = readline())" 时,我看不到任何事情发生(比如使用 propt,这是我知道的唯一方法)...

感谢您的帮助!

这是我的代码(如果我使用 alert 和 prompt 而不是 print 和 readline,它就可以工作):

var usersNumber;
while (usersNumber = readline()) {
if (1 <= usersNumber && usersNumber <= 1000000000)
{

var inputBinary = usersNumber.toString(2);

var binaryArray = [];

for (i = 0; i < inputBinary.length; i++) {
    binaryArray[i] = inputBinary.charAt(i);
};

binaryArray.reverse();

var stringBinaryFromArray = "";

for (i = 0; i < binaryArray.length; i++) {
    stringBinaryFromArray = stringBinaryFromArray + binaryArray[i];
}
var digit = parseInt(stringBinaryFromArray, 2);

print(digit);
}

}

(line = readline()) 都分配 line 和 returns readline()

返回的值

if readline() returns null, line 为 null 并且循环停止

readline() 不是标准的 Javascipt 函数。您可以使用 prompt() 代替

while (usersNumber = prompt())

您可能需要将输入从字符串更改为数字。

while (usersNumber = Number(prompt()))

另一方面,您可以使用内置函数来代替现有的循环。 split() and join()。您甚至可以在 1 行中完成所有操作。

var stringBinaryFromArray = inputBinary.split('').reverse().join('');