使用Java实现简单的计算机案例
第一个案例我决定做一个简单的“简易计算器”,来开启编程之旅。为什么我会选择这个案例来作为第一个Java案例呢?大家可别小看这个小小的计算器,它既简单又实用。通过这个案例,大家可以学会或着练习如何处理用户输入、如何实现基本的逻辑运算,以及如何在控制台上输出结果。更重要的是,这个案例能够让你快速上手,在短时间内可以看到自己的成果,从而增强学习的信心和动力。无论你是编程新手,还是想要复习Java基础的开发者,都希望这篇文章能带给大家收获。
该文章的目录:
1. 设计的思路
2. 关键知识点
3. 完整代码
4. 测试和运行
原创-谷宇博客:谷宇-个人博客https://biguyu.top/home
一. 设计的思路
(1) 用户启动程序后,将看到一个菜单,可选择“1.启动计算机”进入计算器功能,或选择“0.退出”结束程序。选择“1”后,用户需依次输入两个数字(支持小数)和一个运算符(+、-、*、/),程序将根据输入执行相应运算并输出结果。若输入不符合要求,程序会提示错误信息。
(2) 程序分为两个主要部分: ① 主方法(main):负责显示菜单并根据用户选择调用计算方法。 ② 计算方法(count):负责接收用户输入的数字和运算符,并进行计算。
二. 关键知识点
(1) 打印:System.out.println();
(2) 变量的声明、赋值和使用。
(3) 创建Scanner对象,接收用户输入:Scanner input = new Scanner(http://System.in);
(4) 验证用户输入:hasNextInt()、hasNextFloat()和hasNext()。
(5) 简单运算符(+,-,*,/)的使用。
(6) 控制流语句if、if else和 else的使用。
三. 完整代码
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案例测试和运行成功,表明代码逻辑正确,功能实现符合预期