《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 程序设计》课堂实践项目-简易计算器的更多相关文章

  1. 《Java 程序设计》课堂实践项目汇总链接

    1.<Java 程序设计>课堂实践项目-命令行参数 2.<Java 程序设计>课堂实践项目-mini dc 3.<Java 程序设计>课堂实践项目-Arrays和S ...

  2. 《Java 程序设计》课堂实践项目 课后学习总结

    <Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ...

  3. 《Java 程序设计》课堂实践项目-类定义

    <Java 程序设计>课堂实践项目类定义 课后学习总结 目录 改变 类定义实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改. ...

  4. 《Java 程序设计》课堂实践项目-Arrays和String单元测试

    <Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...

  5. 20155308 2016-2017-2《Java程序设计》课堂实践项目

    20155308 2016-2017-2<Java程序设计>课堂实践项目 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅 ...

  6. # 20155308 2016-2017-2《Java程序设计》课堂实践项目 5月17日

    20155308 2016-2017-2<Java程序设计>课堂实践项目 5/17 本次因为git出现了问题,所以没有按时提交我的代码 问题一 在IDEA中对P145 MathTool.j ...

  7. 20155320 2016-2017-2《Java程序设计》第十二周课堂实践项目

    20155320 2016-2017-2<Java程序设计>第十二周课堂实践项目 1.修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 2.在IDEA中以TDD的 ...

  8. 20155321 2016-2017-2《Java程序设计》课堂实践项目2

    20155321 2016-2017-2<Java程序设计>课堂实践项目2 实践内容 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: ...

  9. 20155321 2016-2017-2《Java程序设计》课堂实践项目

    20155321 2016-2017-2<Java程序设计>课堂实践项目 关于String类 split方法 charAt方法 项目题目: 模拟实现Linux下Sort -t : -k 2 ...

随机推荐

  1. 通过代码管理工具 git 完成一次完整的代码管理过程

    1.从公共远程fork一份自己的本地远程之后,从本地远程 clone 到本地 2.将本地代码跟公共远程代码做关联配置 git remote add upstream https://github.co ...

  2. ShowDoc

    ShowDoc 摘自ShowDoc 每当接手一个他人开发好的模块或者项目,看着那些没有写注释的代码,我们都无比抓狂.文档呢?!文档呢?!Show me the doc !! 程序员都很希望别人能写技术 ...

  3. Oracle EBS 配置文件取值

    SELECT op.profile_option_id, tl.profile_option_name, tl.user_profile_option_name, lv.level_id, lv.文件 ...

  4. Mysqlbinlog工具及导出数据并转换编码导入

    2014 - binlog是通过记录二进制文件方式来备份数据,然后在从二进制文件将数据恢复到某一时段或某一操作点. 1.使用mysqlbinlog工具来恢复 Mysqlbinlog日志如何开启? 在m ...

  5. C#软件授权、注册、加密、解密模块源码解析并制作注册机生成license

    最近做了一个绿色免安装软件,领导临时要求加个注册机制,不能让现场工程师随意复制.事出突然,只能在现场开发(离开现场软件就不受我们控了).花了不到两个小时实现了简单的注册机制,稍作整理.        ...

  6. swift的类型系统及类型(内存)信息获取:接口、编译运行时、反射、内存布局

    swift是静态语言,没有在运行时保存类型的结构信息(isa.class). 一.self.Self.Type.typeof extension Collection where Self.Eleme ...

  7. BZOJ4891:[TJOI2017]龙舟(Pollard-Rho,exgcd)

    Description 加里敦大学有一个龙舟队,龙舟队有n支队伍,每只队伍有m个划手,龙舟比赛是一个集体项目,和每个人的能力息息相关,但由于龙舟讲究配合,所以评价队伍的能力的是一个值c = (b1*b ...

  8. oracle 禁用/启动job

    注意:dbms_job只能在job的所在用户使用,如果broken其它用户的job用dbms_ijob dbms_job只能在当期用户内创建job.修改和删除job,不能对其他用户的job进行操作;s ...

  9. [USACO08NOV]Mixed Up Cows

    嘟嘟嘟 一看n那么小,那一定是状压dp了(表示从没写过,慌). 首先dp[i][j](i 是一个二进制数,第x位为1代表选了第x头牛),表示 i 这个状态最后一头牛是第 j 头牛时的方案数. 然后当 ...

  10. GeeTest 极验验证

    前台Html页面 <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> ...