《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 ...
随机推荐
- LeetCode题解之Intersection of Two Linked Lists
1.题目描述 2.问题分析 使用unordered_set 将链表A中的节点地址全部插入,然后使用链表B中的每个节点在A中查找. 3.代码 ListNode *getIntersectionNode( ...
- leetCode题解之寻找string中最后一个word的长度
1.题目描述 返回一个 string中最后一个单词的长度.单词定义为没有空格的连续的字符,比如 ‘a’,'akkk'. 2.问题分析 从后向前扫描,如果string是以空格‘ ’结尾的,就不用计数, ...
- docker的网络基础配置
一.端口映射实现访问容器 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射.当使用-P标记时,Docker会随机映射一个49000~49900的端口至容器内部开放 ...
- [翻译] ValueTrackingSlider
ValueTrackingSlider What is it? A UISlider Subclass that displays live values in a popUpView. It’s i ...
- iOS手势处理
iOS手势处理 iOS手势有着如下几种: UITapGestureRecognizer UIPinchGestureRecognizer UIRotationGestureRecognizer UIS ...
- centos7.4应用之KVM
最小安装系统: 参考博客:https://www.cnblogs.com/chenjiahe/p/5911965.html 辅助命令 yum install make bison flex autom ...
- JavaScript数组方法的兼容性写法 汇总:indexOf()、forEach()、map()、filter()、some()、every()
ECMA Script5中数组方法如indexOf().forEach().map().filter().some()并不支持IE6-8,但是国内依然有一大部分用户使用IE6-8,而以上数组方法又确实 ...
- 张高兴的 Windows 10 IoT 开发笔记:无线收发芯片 nRF24L01
This is a Windows 10 IoT Core project on the Raspberry Pi 2/3, coded by C#. GitHub:https://github.co ...
- MySQL管理.md
用户管理 创建 举例 mysql> create user test@localhost identified by 'password'; Query OK, 0 rows affected ...
- linux_bc命令
bc 命令: bc 命令是用于命令行计算器. 它类似基本的计算器. 使用这个计算器可以做基本的数学运算. 语法: 语法是 bc [命令开关]命令开关: -c 仅通过编译. ...