【无标题】

建议计算器,显示:欢迎使用建议计算器

// 1.加法运算

// 2.减法运算

// 3.乘法运算

// 4.除法运算

// 5.退出计算器

// 请输入您的选项:

// 实现化一个建议计算器对象,该对象要有以上功能,用户输入数字,点击运算符,显示结果,点击退出按钮,结束程序

// 实现化一个建议计算器对象,该对象要有以上功能,用户输入数字,点击运算符,显示结果,点击退出按钮,结束程序

// 实现化一个建议计算器对象,该对象要有以上功能,用户输入数字,点击运算符,显示结果,点击退出按钮,结束程序

function Calculator() {

// 显示欢迎信息

this.欢迎使用建议计算器 = function() {

console.log('欢迎使用简易计算器');

}

复制代码
// 显示运算符菜单

    this.显示运算符 = function() {
        console.log('运算符菜单:');
        console.log('1.加法运算');
        console.log('2.减法运算');
        console.log('3.乘法运算');
        console.log('4.除法运算');
        console.log('5.退出计算器');
    }

    // 加法运算
    this.加法运算 = function(a,b) {
        let result = a + b;
        console.log(a + ' + ' + b + ' = ' + result);
        alert(a + ' + ' + b + ' = ' + result);
    }

    // 减法运算
    this.减法运算 = function(a,b) {
        let result = a - b;
        console.log(a + ' - ' + b + ' = ' + result);
        alert(a + ' - ' + b + ' = ' + result);
    }

    // 乘法运算
    this.乘法运算 = function(a,b) {
        let result = a * b;
        console.log(a + ' × ' + b + ' = ' + result);
        alert(a + ' × ' + b + ' = ' + result);
    }

    // 除法运算(包含零除检查)
    this.除法运算 = function(a,b) {
        if (b === 0) {
            console.log('错误:除数不能为零');
            alert('错误:除数不能为零');
        } else {
            let result = a / b;
            console.log(a + ' ÷ ' + b + ' = ' + result);
            alert(a + ' ÷ ' + b + ' = ' + result);
        }
    }

    // 退出计算器
    this.退出计算器 = function() {
        console.log('感谢使用简易计算器,再见!');
        alert('感谢使用简易计算器,再见!');
    }

    // 获取用户输入的选项
    this.请输入您的选项 = function() {
        let option = prompt(`
        请输入您的选项:
        1.加法运算
        2.减法运算
        3.乘法运算
        4.除法运算
        5.退出计算器
        请输入您的选项:`);
        // 去除空格并返回
        return option ? option.trim() : '';
    }

    // 获取用户输入的数字
    this.请输入数字 = function(promptText) {
        let num = prompt(promptText);
        num = parseFloat(num);
        // 如果不是有效数字,重新输入
        while (isNaN(num)) {
            num = prompt('输入无效,请重新输入数字:');
            num = parseFloat(num);
        }
        return num;
    }

    // 运行计算器主循环
    this.运行 = function() {
        this.欢迎使用建议计算器();
        
        while (true) {
            this.显示运算符();
            let option = this.请输入您的选项();
            
            switch (option) {
                case '1': {
                    let a = this.请输入数字('请输入第一个数字:');
                    let b = this.请输入数字('请输入第二个数字:');
                    this.加法运算(a, b);
                    break;
                }
                case '2': {
                    let a = this.请输入数字('请输入第一个数字:');
                    let b = this.请输入数字('请输入第二个数字:');
                    this.减法运算(a, b);
                    break;
                }
                case '3': {
                    let a = this.请输入数字('请输入第一个数字:');
                    let b = this.请输入数字('请输入第二个数字:');
                    this.乘法运算(a, b);
                    break;
                }
                case '4': {
                    let a = this.请输入数字('请输入被除数:');
                    let b = this.请输入数字('请输入除数:');
                    this.除法运算(a, b);
                    break;
                }
                case '5': {
                    this.退出计算器();
                    return; // 退出循环
                }
                default: {
                    console.log('输入错误,请输入1-5之间的数字');
                    alert('输入错误,请输入1-5之间的数字');
                }
            }
        }
    }
}

// 创建计算器实例并运行
let myCalculator = new Calculator();
myCalculator.运行();
相关推荐
寅时码1 小时前
React 之死·终章:一个 useRef,把闭包陷阱、依赖数组、漫天 rerender 全送走
前端·react.js·ai编程
不好听6131 小时前
HTML 事件监听机制:从 DOM Level 0 到 React 合成事件
前端·react.js·html
wordbaby1 小时前
为什么刷新页面就 404?聊聊 SPA 路由与 Nginx 的那点事
前端
daols881 小时前
vxe-table 渲染器教程一:实现金额输入控件
javascript·vue.js·vxe-table
不好听6132 小时前
React 核心概念:JSX、组件与数据驱动
前端·react.js
触底反弹2 小时前
🔥 React 零基础入门(中):500 行屎山代码到组件化的蜕变
前端·javascript·react.js
不好听6132 小时前
React vs Vue:两大前端框架技术选型深度对比
前端·vue.js·react.js
GuWenyue2 小时前
Cursor黑盒拆解!1套LangChain.js手写Mini编程Agent,自动生成React项目,效率提升60%
前端·数据库·人工智能
GuWenyue2 小时前
传统Agent工具两大痛点!300行代码落地MCP跨语言工具,彻底解耦LLM与工具
前端·人工智能·算法
小林ixn3 小时前
从 onclick 到 React 合成事件,再到完整应用逻辑:一次前端架构的深度剖析
前端·react.js·前端框架