1.jsconsoleinput做各大公司的在线编程题,一般都有输入和输出,传统的js无法完成读取输入的功能,此时才能继续要用js写编程题,只能用node.js输入输出线上笔试。下面就这个问题详细说说。用node.js写编程题的核心是node的readline接口,读取输入行。require('readline')模块提供了从可读流(如process.stdin)中读取数据的接口,每次读取一行。它可以按以下方式使用:constreadline=require('readline');基本用法如下:constreadline=require('readline');//引入constrl=readline.createInterface({//创建输入输出接口input:process.stdin,output:process.stdout});rl.on('line',function(line){//监听控制台输入vardata=line.trim();//获取控制台输入varresult=....//编程逻辑处理console.log(result);//输出结果});通过这样一个过程,得到输入->逻辑处理->输出结果,完成在线笔试。但是在实践中,你会遇到一个棘手的问题,就是有些题目,输入不止一行,会有2行甚至N行输入,所以像上面的写法,数据只能取到第一个单行输入,不能获取多行输入,所以不能解决问题,下面通过两个简单的例子来介绍如何从控制台接收多行输入。2、双行输入在线编程题目:输入两行,第一行是字符串s1,第二行是字符串s2,输出两个字符串拼接的结果。例子:输入"hello""world"输出"helloworld"代码如下:constreadline=require('readline');constrl=readline.createInterface({输入:process.stdin,输出:process.stdout});vark=2;//这里表示标题中设置的输入行数varrows=[];//用于存储每一行??的输入rl.on('line',function(line){rows.push(line);//将每一行输入的数据存入if(k==rows.length){//当输入行数等于设定的k值时,开始逻辑处理varresult=rows[0]+rows[1];//连接字符串console.log(result);//输出结果rows.length=0;//状态重置}});3、N行输入在线编程题目:输入数字N(1
