编写方法double sumS(int n),已知参数n,求以下表达式前n项的和S返回。
S=2/1+3/2+5/3+8/5+。。。
注:下一项的分母=上一项的分子,下一项的分子=上一项的分子与分母的和。
要求:输入参数n后,不仅显示S表达式,而且输出结果。
编写方法double sumS(int n),已知参数n,求以下表达式前n项的和S返回。
S=2/1+3/2+5/3+8/5+。。。
注:下一项的分母=上一项的分子,下一项的分子=上一项的分子与分母的和。
要求:输入参数n后,不仅显示S表达式,而且输出结果。
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n= scanner.nextInt();
System.out.println(sumS(n));
}
public static double sumS(int n){
double s=0;
int a=1,b=2,c;
StringBuffer sb = new StringBuffer("S=");
for(int i=0;i<n;i++){
sb.append(b);
sb.append("/");
sb.append(a);
sb.append("+");
s+=b*1.0/a*1.0;
c = b;
b = a+b;
a = c;
}
if(sb.lastIndexOf("+")!=-1){
sb.replace(sb.lastIndexOf("+"),sb.length(),"");
System.out.println(sb.toString());
}
return s;
}
}