【Java实例-简易计算机】使用Java实现简单的计算机案例

第一个案例我决定做一个简单的"简易计算器",来开启编程之旅。为什么我会选择这个案例来作为第一个Java案例呢?大家可别小看这个小小的计算器,它既简单又实用。通过这个案例,大家可以学会或着练习如何处理用户输入、如何实现基本的逻辑运算,以及如何在控制台上输出结果。更重要的是,这个案例能够让你快速上手,在短时间内可以看到自己的成果,从而增强学习的信心和动力。无论你是编程新手,还是想要复习Java基础的开发者,都希望这篇文章能带给大家收获。

该文章的目录:

  1. 设计的思路

  2. 关键知识点

  3. 完整代码

  4. 测试和运行

原创详细文章和代码:biguyu.top/article/det...

原创-谷宇博客:biguyu.top/home

一. 设计的思路

(1) 用户启动程序后,将看到一个菜单,可选择"1.启动计算机"进入计算器功能,或选择"0.退出"结束程序。选择"1"后,用户需依次输入两个数字(支持小数)和一个运算符(+、-、*、/),程序将根据输入执行相应运算并输出结果。若输入不符合要求,程序会提示错误信息。

(2) 程序分为两个主要部分: ① 主方法(main):负责显示菜单并根据用户选择调用计算方法。 ② 计算方法(count):负责接收用户输入的数字和运算符,并进行计算。

二. 关键知识点

(1) 打印:System.out.println();

(2) 变量的声明、赋值和使用。

(3) 创建Scanner对象,接收用户输入:Scanner input = new Scanner(System.in);

(4) 验证用户输入:hasNextInt()、hasNextFloat()和hasNext()。

(5) 简单运算符(+,-,*,/)的使用。

(6) 控制流语句if、if else和 else的使用。

三. 完整代码

ini 复制代码
package com.simple;

import java.util.Scanner;
/**
 * 简易计算机
 * **/
public class Play {

    public static void main(String[] args) {
        //变量 i 用于保存菜单选项
        int i = 0;
        //打印第一级菜单
        System.out.print("----------------\n");
        System.out.println("1.启动计算机");
        System.out.println("0.退出");
        System.out.print("----------------\n");
        System.out.print("请输入编号:");

        //声明Scanner类,用于接收屏幕用户输入
        Scanner input = new Scanner(System.in);
        //判断用户输入的是否为整数(如果输入的非整数,变量会为数据类型的默认值。比如:int类型,用户输入'f',变量会赋值为默认值0)
        if(input.hasNextInt()) {
            //如果输入的是整数,赋值给 i 变量
            i = input.nextInt();
            if(i == 1) {
                //判断如果用户输入的是 1,则进入方法
                count();
            }
        } else {
            System.out.println("输入的不是整数!");
        }
    }

    //计算方法
    public static void count() {
        //声明浮点型,接收用户输入的第一个数。(使用浮点型是因为用户可能会输入小数)
        float a1 = 0.0f;
        //声明用户输入的第二个数
        float a2 = 0.0f;
        //声明用户输入的运算符号(+,-,*,/)
        char s;
        //保存计算的结果值
        float result = 0.0f;

        //创建Scanner类,接收用户的输入。
        System.out.print("请输入第一个数字:");
        Scanner inputA1 = new Scanner(System.in);
        //判断用户输入的是否为浮点型
        if(inputA1.hasNextFloat()){
            //接收用户输入的数字,保存到 a1 变量
            a1 = inputA1.nextFloat();
        } else {
            System.out.println("输入的不是浮点型!");
        }

        //同上
        System.out.print("请输入第二个数字:");
        Scanner inputA2 = new Scanner(System.in);
        if(inputA2.hasNextFloat()){
            //接收用户输入的数字,保存到 a2 变量
            a2 = inputA2.nextFloat();
        } else {
            System.out.println("输入的不是浮点型!");
        }

        //创建Scanner类,接收用户输入的运算符号。
        System.out.print("请输入运算符(+,-,*,/):");
        Scanner input = new Scanner(System.in);
        if(input.hasNext()) {
            //在scanner对象中,没有char单字符的输入,所以我们允许用户输入字符串,然后只获取字符串的第一个字符来进行比较
            s = input.next().charAt(0);
            //计算结果后,把结果保存到result变量
            if(s == '+') {
                result = a1 + a2;
            } else if(s == '-') {
                result = a1 - a2;
            } else if(s == '*') {
                result = a1 * a2;
            } else if(s == '/') {
                result = a1 / a2;
            } else {
                System.out.println("输入的运算符不正确");
            }
            //输出结果
            System.out.println("运算结果:" + result);
        } else {
            System.out.println("输入的不是字符串!");
        }
    }
}

四. 测试和运行

Java案例测试和运行成功,表明代码逻辑正确,功能实现符合预期

相关推荐
努力学算法的蒟蒻几秒前
解决Maven版本不兼容问题的终极方案
java·maven
星逝*20 分钟前
Java实战:实时聊天应用开发(附GitHub链接)
java·开发语言·python
leobertlan30 分钟前
杂篇-有感而发,写于2025年7月
java·前端·程序员
青云交43 分钟前
Java 大视界 -- 基于 Java 的大数据分布式存储在云计算数据中心数据管理与调度中的应用(348)
java·大数据·分布式存储·高频交易·银行灾备·云计算数据中心·大数据分布式
GuGu20241 小时前
Lambda表达式和比较器的学习
java
超级码.里奥.农1 小时前
零基础 “入坑” Java--- 十二、抽象类和接口
java·开发语言
野蛮人6号1 小时前
黑马点评系列问题之p70postman报错“服务器异常”
java·redis·黑马点评
在软件大道骑行的小石1 小时前
别怪 GC 不回收你:可能是你的内部类太粘人了
java·后端
共享家95272 小时前
Linux 自旋锁
java·前端·数据库
程序猿阿越2 小时前
Kafka源码(二)分区新增和重分配
java·后端·源码阅读