1.在V8引擎下输入、输出。
牛客网的V8引擎下,可以直接用readline()方法接收输入,而且可以接受多行的输入,readline()方法每执行一次就会识别一次输入的数据所以可以进行多行输入,这个比node环境下输入好太多了,建议遇到要输入的编程题都在v8下编程。
例子如下(多行输入):
let arr = readline().split(' ');
let num = readline();
// 输入
// 1 2 3
// 4
console.log(arr); // [1,2,3]
console.log(num); // 4
牛客网官方给出的V8输入例子(单行输入)
while(line=readline()){
var lines = line.split(' ');
var a = parseInt(lines[0]);
var b = parseInt(lines[1]);
print(a+b);
}
输出可以使用print和console.log(),都一样。
2.在node环境下输入、输出。
在node环境下输入,是利用了process(进程)对象,process是一个Global全局对象,你可以在任何地方使用它,无需require,而且process有两个属性可以获取到输入输出流。
1.process.stdout
属性返回一个对象,表示标准输出。
2.process.stdin
返回一个对象,表示标准输入。
利用这两个属性,我们就可以在node环境下输入输出。
let readline = require('readline');
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
let inputs = []
rl.on('line', function (line) {
inputs.push(line.trim()) //trim去除两边的空格
console.log(inputs);
})
// rl.on 相当于监听了输入流,每次有输入行为就会执行里面的方法
// 输入:5 4 3 2 1
// 输出:[ '5 4 3 2 1' ]
// 输入:9
// 输出:[ '5 4 3 2 1', '9' ]
// 输入:A
// 输出:[ '5 4 3 2 1', '9', 'A' ]
牛客网node环境下输入的例子
var readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function(line){
var tokens = line.split(' ');
console.log(parseInt(tokens[0]) + parseInt(tokens[1]));
});