• 结对编程--fault,error,failure


    结对编程对象:张忠玉

    对方博客地址:http://www.cnblogs.com/handsonboy/

    双方贡献比例:1:1

    结对照片:

    结对题目:输入一定个数的数字,对其排序后输出最大值。

     
     1 package com.jkxy.zy.selectsort;
     2 
     3 import java.util.Scanner;
     4 
     5 /**
     6  * 
     7  * 构造程序,分别是:
     8         •不能触发Fault。
     9         •触发Fault,但是不能触发Error。
    10         •触发Error,但是不能产生Failure。*/
    11 public class Selectsort {
    12 
    13     public static void main(String[] args) {
    14         Scanner input=new Scanner(System.in);
    15         System.out.println("请输入你需要输入的数字个数:");
    16         int n=input.nextInt();
    17         int[] array = new int[n];
    18         System.out.println("请输入你需要的数:");
    19         for(int i=0;i<n;i++){
    20             array[i]=input.nextInt();        
    21         }
    22         if(array.length>1){
    23             selectsort(array);
    24         }
    25        System.out.println("这些数字中的最大值为:"+array[n-1]);
    26     }
    27     
    28     public static void selectsort(int[] array){
    29         int min, index, temp;
    30         for(int i = 1; i < array.length - 1; i++){ 
    31             min = i;
    32             //查找选择最小元素值的下标索引值
    33             for(index = i + 1; index < array.length; index++){
    34                 if(array[min] > array[index])
    35                     min = index;
    36             }
    37             //交换
    38             if(min != i){
    39                 temp = array[min];
    40                 array[min] = array[i];
    41                 array[i] = temp;
    42             }
    43         }
    44     }
    45 }

    存在fault的代码段:

    public static void selectsort(int[] array){
               int min, index, temp;
    //排序时下标未从0开始,造成fault
    for(int i = 1; i < array.length - 1; i++){ min = i; for(index = i + 1; index < array.length; index++){ if(array[min] > array[index]) min = index; } if(min != i){ temp = array[min]; array[min] = array[i]; array[i] = temp; } } }

    •不能触发Fault

    测试用例: 输入1,4

    由于存在      if(array.length>1){selectsort(array);}  分之语句,不会进入fault代码段

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

      测试用例: 输入5,1 3 7 4 5

    输入的数字排序为  1,3,4,5,7;输出最大值为7.  已经进入错误程序段,但是由于第一个数即是他们中最小的,所以排序未出错误。

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

     测试用例: 输入5,1 3 7 4 5

    输入的数字排序为  5,1,3,6,8;输出最大值为8.  已经进入错误程序段,排序出现错误,但是由于后面的数存在大于第一个数的数字,所以输出最大值时依旧是正确的。

    总结:通过结对编程,我们对不太清楚的知识点进行讨论,刚开始我们的意见不太统一,对问题的理解也不深刻;最后我们统一了意见,很快我们就完成了我们的程序编程。通过该         程序,对软件中fault,error,failure 有了更加深刻的认识和理解。她是一个思想活跃的同伴,与她一起编程非常轻松愉快。

       

  • 相关阅读:
    协同过滤
    深度学习中 epoch,[batch size], iterations概念解释
    如何查看Python内置模块的实现代码
    机器学习/数据挖掘/算法岗位
    算法工程师B
    算法工程师A
    web性能测试基本性能指标
    Loadrunner11不能调用IE8解决方法大全
    抓取Android应用的log
    关于字符latin capital letter sharp s "ß"( U+1E9E)显示的问题
  • 原文地址:https://www.cnblogs.com/yxj63/p/5405414.html
Copyright © 2020-2023  润新知