V8输入输出
一、单行输入
牛客网V8引擎是利用了readline()接收输入的每一行,该行字符数不能超过1024个,否则会报错。
var str=readline(); //得到输入字符串
console.log(); //输出字符串
//下面这种待测试
//输入
var readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('line', function(line){ //dosomething });
//输出
二:多行输入,
同理,好多同学对V8的多行输入示例不是很明白,其实它基于的readline()并不会像JS语言一样后面的会覆盖前面的语句,在这里readline是可以重载的,也就是说每一次调用readline()就会识别一行输入数据,多行输入其实就是写多个readline()即可。
例:读取两行
var line1=readline(); //得到输入第一行字符串
var line2=readline(); //得到输入第二行字符串
固定行数输入:
任意行数输入:
三:输出,
console.log()
牛客网输出函数用print()和console.log()都可以,多行输入会根据你的print个数来自动折行;或者利用print(lines + ‘\n’);来折行。
JavaScript(Node 6.11.4)——稍微复杂点
1.单行输入
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
//单行输入
rl.on('line',function(data){
var result= data.split(' '); //获取第一行的内容,存为数组
console.log(result);
})
多行输入
var readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
//固定行数的多行输入
const lines = [];
var num=3; //设定输入行数
var rows=[]; //用于存储每行的输入
rl.on('line',function(data){
rows.push(data); //将每次输入的行数据存入
if(num === rows.length){ //输入的行数等于num值
console.log(rows); //输出结果
}
});
javascript V12
process.stdin.resume();
process.stdin.setEncoding('ascii');
var input = "";
var input_array = [];
process.stdin.on('data', function (data) {
input += data; //输入数据
});
process.stdin.on('end', function () {
input_array = input.split("\n"); //输入数据
var line = input_array[0].trim();
var line2 = input_array[1].trim();
//dosomething
var a = line;
var b = line2[0];
console.log(fn(a, b));
});
牛客官方输入输出。