如何在课堂上设置局部变量

用户6819864
class Calculator {
  constructor() {
    console.log(`Enter the numbers and the operation index you want to perform: 
        1) Addition 
        2) Substraction 
        3) Multiplication 
        4) Division`);

    this.calculate();
  }

  /** 
   * @param {number} firstValue get the first value
   *  @param {number} secondValue get the second value 
   */
  addition(firstValue, secondValue) {
    return firstValue + secondValue;
  }

  /**
   * @param {number} firstValue get the first value
   *  @param {number} secondValue get the second value 
   */
  subtraction(firstValue, secondValue) {
    return firstValue - secondValue;
  }

  /** 
   *  @param {number} firstValue get the first value 
   *  @param {number} secondValue get the second value 
   */
  multiplication(firstValue, secondValue) {
    return firstValue * secondValue;
  }

  /** 
   *  @param {number} firstValue get the first value 
   *  @param {number} secondValue get the second value 
  */
  division(firstValue, secondValue) {
    if (secondValue != 0) {
      return firstValue / secondValue;
    }
    return 'Cannot perform division by 0';
  }

  calculate() {
    prompt.get(propertiesPrompt, (error, values) => {
      if (error) {
        throw new Error(error);
      }

      console.log(operationResult[values.operation](values.valueOne, values.valueTwo));
      prompt.get(choiceResponse, (responseError, response) => {
        if (responseError) {
          throw new Error(responseError);
        }

        if (response.optionSelected.toLowerCase() == 'y') {
          this.calculate()
        }
      });
    });
  }
}

在上面的代码中,我想删除加法,减法,mul和除法中的参数,并希望在类中设置变量属性,以便可以直接在方法中调用存储的值并进行操作。那怎么办?

杰伊·瓦加西娅

您可以在构造函数中设置值

var prompt = require('prompt');

prompt.start();

class Calculator {
  /**
   * @param {number} firstValue get the first value
   *  @param {number} secondValue get the second value
   */
  constructor() {
    console.log(`Enter the numbers and the operation index you want to perform: 
        1) Addition 
        2) Substraction 
        3) Multiplication 
        4) Division`);

    this.firstValue = 0;
    this.secondValue = 0;

    this.calculate();
  }

  addition() {
    return this.firstValue + this.secondValue;
  }

  subtraction() {
    return this.firstValue - this.secondValue;
  }

  multiplication() {
    return this.firstValue * this.secondValue;
  }

  division() {
    if (this.secondValue != 0) {
      return this.firstValue / this.secondValue;
    }
    return 'Cannot perform division by 0';
  }

  calculate() {
    prompt.get(['firstValue', 'secondValue'], (error, values) => {
      if (error) {
        throw new Error(error);
      }

      this.firstValue = Number(values.firstValue);
      this.secondValue = Number(values.secondValue);

      prompt.get(['choice'], (responseError, response) => {
        if (responseError) {
          throw new Error(responseError);
        }

        let result = 0;

        switch (Number(response.choice)) {
          case 1:
            result = this.addition();
            break;
          case 2:
            result = this.subtraction();
            break;
          case 3:
            result = this.multiplication();
            break;
          case 4:
            result = this.division();
            break;
          default:
            console.log('>>>>>  Please select valid operation');
            break;
        }

        console.log('>>>>>  result : ', result);

        prompt.get(['optionSelected'], (responseError, response) => {
          if (responseError) {
            throw new Error(responseError);
          }

          if (response.optionSelected.toLowerCase() == 'y') {
            this.calculate();
          }
        });
      });
    });
  }
}

new Calculator();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在列表理解中设置局部变量?

来自分类Dev

如何在课堂上传递javascript变量?

来自分类Dev

没有在课堂上设置变量

来自分类Dev

我如何在课堂上支持println?

来自分类Dev

如何在课堂上使用装饰器

来自分类Dev

如何在课堂上找到div的元素

来自分类Dev

如何在课堂上使用MySQLi

来自分类Dev

如何在课堂上使用依赖注入?

来自分类Dev

如何在帖子中设置与用户的特定评论相等的局部变量?可能很简单

来自分类Dev

如何在单个声明中将多个局部变量设置为相同的值?

来自分类Dev

如何在emacs中设置缓冲区局部变量

来自分类Dev

如何在JBPM 6中获取和设置流程的局部变量列表?

来自分类Dev

如何在G ++中设置警告以返回将指针返回局部变量的警告?

来自分类Dev

如何在Java / Android中的回调函数中设置局部变量?

来自分类Dev

如何在帖子中设置与用户的特定评论相等的局部变量?可能很简单

来自分类Dev

如何在课堂上使用共享首选项来设置所有活动?

来自分类Dev

如何在课堂上传递这些变量以计算新的GPA?

来自分类Dev

如何设置使用局部变量对元素进行排序的集合?

来自分类Dev

如何为过滤的选择设置局部变量?

来自分类Dev

如何将heredoc输出设置为局部变量

来自分类Dev

如何在C#中使用ExecuteScalar从SQL命令获取多个变量并将其设置为局部变量

来自分类Dev

如何在堆文件中找到局部变量

来自分类Dev

如何在Julia中评估局部变量

来自分类Dev

如何在循环内重置局部变量的值?

来自分类Dev

如何在JDT中查找局部变量引用?

来自分类Dev

如何在makefile的规则配方中创建局部变量?

来自分类Dev

如何在Rust结构内部创建线程局部变量?

来自分类Dev

如何在python中重建局部变量环境?

来自分类Dev

如何在Oracle SQL中使用局部变量?

Related 相关文章

  1. 1

    如何在列表理解中设置局部变量?

  2. 2

    如何在课堂上传递javascript变量?

  3. 3

    没有在课堂上设置变量

  4. 4

    我如何在课堂上支持println?

  5. 5

    如何在课堂上使用装饰器

  6. 6

    如何在课堂上找到div的元素

  7. 7

    如何在课堂上使用MySQLi

  8. 8

    如何在课堂上使用依赖注入?

  9. 9

    如何在帖子中设置与用户的特定评论相等的局部变量?可能很简单

  10. 10

    如何在单个声明中将多个局部变量设置为相同的值?

  11. 11

    如何在emacs中设置缓冲区局部变量

  12. 12

    如何在JBPM 6中获取和设置流程的局部变量列表?

  13. 13

    如何在G ++中设置警告以返回将指针返回局部变量的警告?

  14. 14

    如何在Java / Android中的回调函数中设置局部变量?

  15. 15

    如何在帖子中设置与用户的特定评论相等的局部变量?可能很简单

  16. 16

    如何在课堂上使用共享首选项来设置所有活动?

  17. 17

    如何在课堂上传递这些变量以计算新的GPA?

  18. 18

    如何设置使用局部变量对元素进行排序的集合?

  19. 19

    如何为过滤的选择设置局部变量?

  20. 20

    如何将heredoc输出设置为局部变量

  21. 21

    如何在C#中使用ExecuteScalar从SQL命令获取多个变量并将其设置为局部变量

  22. 22

    如何在堆文件中找到局部变量

  23. 23

    如何在Julia中评估局部变量

  24. 24

    如何在循环内重置局部变量的值?

  25. 25

    如何在JDT中查找局部变量引用?

  26. 26

    如何在makefile的规则配方中创建局部变量?

  27. 27

    如何在Rust结构内部创建线程局部变量?

  28. 28

    如何在python中重建局部变量环境?

  29. 29

    如何在Oracle SQL中使用局部变量?

热门标签

归档