结对编程(二)
2016-04-18 22:10
246 查看
结对编程作业:
题目:构造程序,分别是:•不能触发Fault•触发Fault,但是不能触发Error。•触发Error,但是不能产生Failure。编程语言:java结对对象:沙夫都 博客地址:http://www.cnblogs.com/S-vendor/双方贡献:1:1结对照片:项目介绍:让用户输入一句只有变量名和值的代码(例如 aInt=45;),程序将分析出变量名和值(例如 name:aInt value:45)源代码:public class Lexer { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("please input your code"); String s = in.next(); in.close(); try { divide(s); }catch (Exception e){ System.err.println("Error"); } } public static void divide(String s) { System.out.println("your inputted is "+s); String name=s.substring(0,s.indexOf("=")); String value=s.substring(s.indexOf("=")+1,s.length()-1); System.out.println("name:"+name); System.out.println("value:"+value); } }1.不触发Fault输入”sum=12;“ 时。
![](https://images2015.cnblogs.com/blog/899135/201604/899135-20160418215010507-1499143654.png)
若输入为"sum==12;" 时,
![](https://images2015.cnblogs.com/blog/899135/201604/899135-20160418220147616-2103817162.png)
很明显输出的value将是”=12“,显然不是我们想得到的结果。
2.触发Error
String s = in.next(); 若输入为"sum = 12;" 时,输入的就只是sum,因为next()的中断符是回车或空格。此处也使程序产生Fault
![](https://images2015.cnblogs.com/blog/899135/201604/899135-20160418221456445-1766216717.png)
此外:
String name=s.substring(0,s.indexOf("="));若输入中没有”=“ 则将触发Error
所以:设计程序是应该考虑用户的输入会不会导致程序的Error甚至是Failure,当用户输入不符合我们的需要时,应当及时提示输入有误并重新输入。
相关文章推荐
- C++多态的实现原理
- c++避免内存泄漏
- Python学习笔记(七)——自我探索模块
- C++问题小结--3.构造函数与析构函数关于其自身特点的简单代码陈述
- c++继承属性不具有多态性
- BitPesa使用比特币降低肯尼亚汇款…
- Python基础(Django三——Model)
- 构造方法和匿名对象
- 谁为代码负责之监控痛点
- BitGo公司推出比特币交易工具“Inst…
- GOF设计模式笔记之创建型模式
- [django]入门教程1:安装配置并创建项目
- 类和接口
- 计算某个日期起N天后的日期(C语言递归实现)
- 比特币企业BitPesa的董事会成员离…
- Notepad++运行Java
- Metal 着色语言编程指南 八
- 著名的印度大学主办全国区块链编程…
- Struts框架开发之--环境的搭建
- Java XML解析