Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

katya93 avatar katya93 25 Точки

Как се използва вход на конзолата - 4 задача от лекцията "Първи стъпки в програмирането с JS"

Здравейте, 

как мога да въвеждам числа в конзолата и входните данни да ги използвам в разни формули като резултата излиза на изхода?

Например в 4-та задача от лекцията "Първи стъпки в програмирането" - RectangleArea Problem, се изисква да се въведат 2 числа от потребителя (a и b) и след това да се използват във формула, за да се намери лицето на правоъгълник.

Даден е следният код в задачата за пример:

function rectangleArea() {
    let a = 2;
    let b = 7;

    let area = a*b;
    console.log(area);
}

Само, че искам a и b да се въвеждат от конзолата, а не да са написани предварително. Доколкото знам при C# това става с Console.ReadLine(), но какво е решението при JavaScript?

Четох някъде, че си има начини за уеб, но на мен ми трябва решение за конзолата, за да мога да си пиша домашните и  да тренирам с различните задачи.

Можете ли да препоръчате решение? Някакъв код? Нищо не можах да намеря аз.

Използвам също Visual Studio Code, ако въобще има значение това...

Благодаря предварително. :)

Тагове:
mark79 avatar mark79 639 Точки
Best Answer

Здравей,

входните данни се подават като масив. Мисля, че съдията дефакто подава винаги стрингове.
 

function rectangleArea(input) {
    let a = Number(input.shift());
    let b = Number(input.shift());

    let area = a * b;

    console.log(area);
}

rectangleArea(["2", "7"]);
rectangleArea(["7", "8"]);
rectangleArea(["12", "5"]);

Поздрави :)

0
21/10/2019 22:48:39
katya93 avatar katya93 25 Точки

Здравей, с твоето решение стана. Все още има някои неща, които не са ми ясни, но предполагам по-натам от лекциите ще се изяснят.

Аз експериментирах и го изпратих така:

function rectangleArea([param1, param2]) {
    let a = Number(param1);
    let b = Number(param2);

    let area = a*b;

    console.log(area);
}

rectangleArea(["2", "7"]);
rectangleArea(["7", "8"]);
rectangleArea(["12", "5"]);

Почти същото е. :D Но пак стана.

0
willystyle avatar willystyle 2472 Точки

You will most likely never use console input for Javascript app,

but when you intend you could use node.js process buffer:

function rectangleArea() {
    let stdin = process.openStdin();
    stdin.addListener('data', function(d) {        
        let [a, b] = d.toString().split(/[,\s]+/g);
        let area = a * b;
        console.log(area);
    });
}

rectangleArea();

 

0
katya93 avatar katya93 25 Точки

Hi, your solution does not work in Judge. I don't understand some things in the code because I'm still a beginner with JavaScript. But thanks for the reply. :)

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.