zoukankan      html  css  js  c++  java
  • 结对编程(二)

    结对编程作业:

    题目:构造程序,分别是:

    •不能触发Fault

    •触发Fault,但是不能触发Error。

    •触发Error,但是不能产生Failure。

    编程语言:java

    结对对象:沙夫都  博客地址:http://www.cnblogs.com/S-vendor/

    结对照片:
     
    项目介绍:让用户输入一句只有变量名和值的代码(例如 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;“ 时。

    看似没错,但是看程序就会发现是有问题的。

    2.触发Fault 但不Error

    当输入为:

    若输入为"sum==12;" 时,

    很明显输出的value将是”=12“,显然不是我们想得到的结果。

    2.触发Error 

    String s = in.next();

    若输入为"sum = 12;" 时,输入的就只是sum,因为next()的中断符是回车或空格。此处也使程序产生Fault


    此外:
    String name=s.substring(0,s.indexOf("="));若输入中没有”=“ 则将触发Error
    所以:设计程序是应该考虑用户的输入会不会导致程序的Error甚至是Failure,当用户输入不符合我们的需要时,应当及时提示输入有误并重新输入。


  • 相关阅读:
    C++虚继承内存布局
    编译OpenJDK记录
    Node.js + Express 调研
    软件工程开发工具
    Servlets & JSP & JavaBean 参考资料
    Eclipse AST 相关资料
    Git & github 最常用操作笔记
    Java入门学习资料整理
    从变量的类型转换看C语言的思维模式
    数学地图(1)
  • 原文地址:https://www.cnblogs.com/qindehua/p/5405917.html
Copyright © 2011-2022 走看看