1. 程式人生 > >nodejs筆試程式設計(單行多行輸入)

nodejs筆試程式設計(單行多行輸入)

單行輸入

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});



//單行輸入
rl.on('line',function(line){
    var tokens = line.split(' '); //獲取第一行的內容,存為陣列
    console.log(result);
});

多行輸入,固定行數的輸入(兩種方法)

//方法1:

var readline = require('readline');
    const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout

});


const lines = [];

rl.on("line", function(line) {
    lines.push(line); //將輸入放到新建的空陣列中

    if (lines.length === 2){ //判斷,如果輸入的行數等於固定值時開始處理
    //通過陣列索引分別得到陣列中每一行的資料,並做相應操作
    var arr1= lines[0];
    console.log(result);

}

});



//方法2:

var k=2; //這裡代表題目中設定好的輸入的行數
var rows=[]; //用於儲存每行的輸入

rl.on('line',function(line){
    rows.push(line); //將每次輸入的行資料存入

    if(k==rows.length){ //當輸入的行數等於設定的k值時,開始邏輯處理
        console.log(result); //輸出結果
        rows.length=0; //狀態重置
    }
});

多行輸入,第一行是接下來輸入資料的行數

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});


var k=-1; //先給行數置-1,表示還沒開始讀取
var rows=[]; //用於儲存每行的輸入


rl.on('line',function(line){
    if(k<0){
        k=parseInt(line.trim()); //讀取第一行,得到接下來輸入的行數
    }else{
    
        rows.push(line.trim()); //將每次輸入的行資料存入

        if(k==rows.length){ //當輸入的行數等於設定的k值時,開始邏輯處理

        }
    
        console.log(result); //輸出結果

        rows.length=0; //狀態重置
        k=-1;
    }

});