自己看到个面试题,搞了搞,没用设计模式,仅供娱乐
import java.util.Scanner;
//实现 s=1+2-3+4-5+6
public class Demo01{
public static void main(String[] args) {
System.out.println("请输入一个正数字");
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
try {
Integer i = Integer.valueOf(a);
if(i<1) {
System.out.println("请输入正整数!");
}else {
int result = doCaculate(i);
System.out.println("该运输的最终结构为:"+result);
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("输入数值不否和要求");
}
sc.close();
}
public static int doCaculate(int n) {
int total;
if(n==1) {
return 1;
}else if(n==2) {
return 3;
}else {
if(n %2==0) {
total= doCaculate(n-1)+n;
}else {
total=doCaculate(n-1)-n;
}
return total;
}
}
}