《Java 程序设计》课堂实践项目-简易计算器
《Java 程序设计》课堂实践项目简易计算器 课后学习总结
目录
- 改变
- 简易计算器实验要求
- 课堂实践成果
- 课后思考
改变
修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改。
加了一些类定义相关的拓展的内容,图片等都是再次运行之后截得细致的图片,电脑上也有原图。
简易计算器实践要求
提交测试码云链接和测试截图(测试不要和下面的示例相同),加上学号信息
实现一个简易计算器Calc,支持+ - x / 和%运算, 从命令行传入计算数据,比如:
java Calc 2 + 3 结果为 2 + 3 = 5
java Calc 8 - 3 结果为 8 - 3 = 5
java Calc 2 x 3 结果为2 x 3 = 6
java Calc 10 / 2 结果为10 / 2 = 5
java Calc 10 % 3 结果为10 % 3 = 1
public class Calc {
public static void main(String [] args) {
int result = 0;
if (args.length != 3) {
System.out.println("Usage: java Calc operato1 operand(+ - * / %) operator2");
}
//+ - x / 和%运算
Systerm.out.println(args[0] + " " + args[1] + " " + args[2] + " = " + result);
}
}
课堂实践成果
代码如下:
/** * Created by Lenovo on 2017-06-07. */
public class Calc{
public static void main (String [] args){
int result = 0;
final char ADD = '+';
final char SUB = '-';
final char MULTI = 'x';
final char DIV = '/';
final char MOD = '%';
if (args.length != 3){
System.out.println("Usage: java Calc operator1 operand(+ - * / %) operator2");
}
else switch (args[1].toCharArray()[0]){
case ADD:
result = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);
break;
case SUB:
result = Integer.parseInt(args[0]) - Integer.parseInt(args[2]);
break;
case MULTI:
result = Integer.parseInt(args[0]) * Integer.parseInt(args[2]);
break;
case DIV:
result = Integer.parseInt(args[0]) / Integer.parseInt(args[2]);
break;
case MOD:
result = Integer.parseInt(args[0]) % Integer.parseInt(args[2]);
break;
default:
System.out.println("Usage: java Calc operato1 operand(+ - x / %) operator2");
break;
}
System.out.println(args[0] + " " + args[1] + " " + args[2] + " = " + result);
}
}
实验截图如下:

添加四则运算的细则,以及其中的case条件语句。
需要注意以下两点:
- 仅适用于两个数之间的运算
- 在edit中添加元素时需要在其中加入空格(字符与字符之间用空格隔开)
由于要求是命令行下执行,所以:

学习反思及总结
这次实践是对之前后缀表达式的一个延伸练习,用到了c语言中的case用法,这个实践举不出什么例子来。
实践的每一个步骤都是重新做的,因此截图都是重新截得,但是博客日期可以看出是当时有写只不过很草帅而已,经过本次修改希望老师满意
《Java 程序设计》课堂实践项目-简易计算器的更多相关文章
- 《Java 程序设计》课堂实践项目汇总链接
1.<Java 程序设计>课堂实践项目-命令行参数 2.<Java 程序设计>课堂实践项目-mini dc 3.<Java 程序设计>课堂实践项目-Arrays和S ...
- 《Java 程序设计》课堂实践项目 课后学习总结
<Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ...
- 《Java 程序设计》课堂实践项目-类定义
<Java 程序设计>课堂实践项目类定义 课后学习总结 目录 改变 类定义实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改. ...
- 《Java 程序设计》课堂实践项目-Arrays和String单元测试
<Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...
- 20155308 2016-2017-2《Java程序设计》课堂实践项目
20155308 2016-2017-2<Java程序设计>课堂实践项目 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅 ...
- # 20155308 2016-2017-2《Java程序设计》课堂实践项目 5月17日
20155308 2016-2017-2<Java程序设计>课堂实践项目 5/17 本次因为git出现了问题,所以没有按时提交我的代码 问题一 在IDEA中对P145 MathTool.j ...
- 20155320 2016-2017-2《Java程序设计》第十二周课堂实践项目
20155320 2016-2017-2<Java程序设计>第十二周课堂实践项目 1.修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 2.在IDEA中以TDD的 ...
- 20155321 2016-2017-2《Java程序设计》课堂实践项目2
20155321 2016-2017-2<Java程序设计>课堂实践项目2 实践内容 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: ...
- 20155321 2016-2017-2《Java程序设计》课堂实践项目
20155321 2016-2017-2<Java程序设计>课堂实践项目 关于String类 split方法 charAt方法 项目题目: 模拟实现Linux下Sort -t : -k 2 ...
随机推荐
- Ionic step by step (1)
刚接触 ionic,一步一步学习,有错误的,望大家指出. 公式 Ionic = Cordova + Angular2 + ionic CSS Cordova: 提供了使用 JavaScript 调用 ...
- 4.使用bat调用可执行jar文件
一.项目需求 1.maven工程 2.有properties配置文件. 3.有内部jar包 二.简单的是实现实例 1.项目文件放置 注意:如果是web工程,我们会将jar文件当到我们项目WEB-INF ...
- 《SQL Server 2008从入门到精通》--20180710
目录 1.使用Transact-SQL语言编程 1.1.数据定义语言DDL 1.2.数据操纵语言DML 1.3.数据控制语言DCL 1.4.Transact-SQL语言基础 2.运算符 2.1.算数运 ...
- linux/OSX中“DD”命令制作ISO镜像操作系统安装U盘
linux或者OS X系统中,使用“dd”命令可以直接在终端命令行模式下,制作ISO镜像的系统安装盘. 一.linux系统以centOS7为例. sudo dd if=镜像路径 of=USB设备路径 ...
- [翻译] REMenu
REMenu https://github.com/romaonthego/REMenu Dropdown menu inspired by Vine. 一款下拉菜单效果控件,灵感来自于Vine. R ...
- matlab 函数句柄@的介绍_什么是函数句柄(转)
http://blog.csdn.net/kevinhg/article/details/8861774 http://www.ilovematlab.cn/thread-30375-1-1.html ...
- 基于springMVC的RESTful服务实现
一,什么是RESTful RESTful(RESTful Web Services)一种架构风格,表述性状态转移,它不是一个软件,也不是一个标准,而是一种思想,不依赖于任何通信协议,但是开发时要成功映 ...
- Hadoop HBase概念学习系列之物理视图(又名为物理模型)(九)
虽然,从HBase的概念视图来看,每个表格是由很多行组成的,但是在物理存储上面,它是按照列来保存的,这一点在进行数据设计和程序开发的时候必须牢记. 在物理存储上面,它是按照列来保存的 需要注意的是,在 ...
- [2018HN省队集训D5T1] 沼泽地marshland
[2018HN省队集训D5T1] 沼泽地marshland 题意 给定一张 \(n\times n\) 的棋盘, 对于位置 \((x,y)\), 若 \(x+y\) 为奇数则可能有一个正权值. 你可以 ...
- tkinter入门,canvas实现百度,抖音,加载
对于tkinter的各个控件,可以参看 : https://blog.csdn.net/weixin_38532159/article/details/78379523 这个已经比较全面了 今天利用 ...