牛客網、賽碼網javascript在線編程的輸入輸出

        之前做劍指offer的題,題目的函數都已定義,自己只需要寫函數體,等到做公司真題,才發現函數這些都是不存在的,輸入輸出都需要自己定義,百度後,寫這篇博客加深印象。

        首先,輸入輸出均採用nodeJS,nodeJS控制檯默認輸入是字符串類型,若需要數字類型需要進行轉化。

        1、單行輸入      

var readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line',function(line){
    //line爲輸入的單行字符串,split函數-通過空格將該行數據轉換成數組
    var arr = line.split(' ');
    //數組arr的每一項都是字符串格式,若需要整型,則需要parseInt將其轉換成數字
    console.log(parseInt(arr[0])+parseInt(srr[1]));
})

    2、多行輸入

1)、輸入所有行

var readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
var inputs = [];
rl.on('line',function(line){
    //trim()去除字符串兩邊的空白,line表示一行輸入,最終得到的inputs數組的每一個元素表示一行輸入。
    inputs.push(line.trim());
    //下面再對每一行輸入進行處理
    ......
})

2)、輸入多行

process.stdin.resume();
process.stdin.setEncoding('ascii');
var input = "";
var input_array = "";
process.stdin.on('line',function(line){
    input ++line;
});

process.stdin.on('end',function(){
    input_array = input.split("\n");
    //處理input
});

3)、規定讀入num行    

var readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
var countLine = 1;//記錄讀取的行數
var tokens = [];
rl.on('line',function(line){
    tokens.push(line);
    if(countLine===num){
        //操作部分
    }else{
        countLine++;
    }
})

3、輸出

    採用console.log();


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章