一、问题描述:
构造程序,分别是:
•不能触发Fault
•触发Fault,但是不能触发Error
•触发Error,但是不能产生Failure
二、Fault、Error、Failure区别
Fault:可能导致系统或功能失效的异常条件,可译为“故障”。 Error:计算、观察或测量值或条件,与真实、规定或理论上正确的值或条件之间的差异,译为“错误”。Error是能够导致系统出现Failure的系统内部状态。 Failure:当一个系统不能执行所要求的功能时,即为Failure,可译为“失效”。
package com.sicnu.findnumber;
public class FindLastNumber {
public static void main(String[] args) { //找出目标值aim在数组最后出现的位置,若在数组中不存在则表示-1 int array[] = {2}; int aim = 2; int pos = -1; if(array.length <= 1){ if(aim == array[0]){ pos = 1; }else{ pos = -1; } }else{ pos = findLast(aim,array); } for(int i = 0; i < array.length; i++){ System.out.print(array[i] + " "); } System.out.println(); System.out.println("find :"+ aim +" The last position:"+pos); } /** * @param aim * @param array * @return */ public static int findLast(int aim, int array[]){ int position = -1; for(int i = 1; i < array.length ;i++){//wrong! if(array[i] == aim){ position = i; } } return position + 1;}
}