2018-09-09

2018-09-09  本文已影响0人  yesufan

前端笔试第一坑:nodejs输入输出(一):

参考:nodejs oj在线笔试应对方案(讲几种输入处理方法) - 大~熊 - 博客园

最近参加了一些线上笔试。但是js居然没有类似于其他语言的输入输出流,怎么 办,怎么办。node不就是用的js吗?所以只用学会标准输入输出才可以解题的。下面总结几种方法,可以当作解题模板,直接套就可以了。




一般题的简单模板

var readline = require('readline');

rl = readline.createInterface({

    input: process.stdin,

    output: process.stdout

});

rl.on('line', function(data) {

    // 获取输入

    var inputs = data.trim().split(' ');

    // 处理

    var result = deal(inputs);

    // 输出结果

    console.log(result);

});

function deal(inputs) {

    var result = '';

    // dosomething

    return result;

}

经典例子:

根据输入的字符串不同,对应不同输出

var readline = require('readline');

var rl = readline.createInterface({

input: process.stdin,

output: process.stdout,

});

rl.setPrompt('Test> ');

rl.prompt();

rl.on('line', function(line) {

switch (line.trim()) {

case 'copy':

console.log("复制");

break;

case 'hello':

console.log('world!');

break;

case 'close':

rl.close();

break;

default:

console.log('没有找到命令!');

break;

}

rl.prompt();

});

rl.on('close', function() {

console.log('bye bye!');

process.exit(0);

});


第一行为下一行输入元素的个数(输入一行):求一个数组中的最大值与最小值

输入描述:第一行为数组元素个数,第二行为数组元素

输出描述:最大值、最小值空格隔开

实例:

5                    //输入N个数的数量

12 18 5 20 10        //N个数

20 5                //返回结果

var readline = require('readline');

var rl = readline.createInterface({

    input:process.stdin,

    output:process.stdout,

});

var num = 0;

rl.on('line',function(input){

    if(num==0){

        num = input.trim();

    }

    else{

        var iptArr = input.split(' ');

        if(iptArr.length==num){

            var maxNum = Math.max.apply(null,iptArr);

            var minNum = Math.min.apply(null,iptArr);

            var result = maxNum + ' ' + minNum;

            console.log(result);

            return result;

        }

    }

})

上一篇 下一篇

猜你喜欢

热点阅读