public class Nitin12assignA6 {
public static void main(String args[]) throws IOException {
series ob = new series();
ob.input();
ob.findSum();
ob.display();
}
}
class series {
int x, n;
double sum;
series() {
x = n = 0;
sum = 0.0f;
}
void input() throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("\nEnter the value of x = ");
x = Integer.parseInt(in.readLine());
System.out.print("Enter the value of n = ");
n = Integer.parseInt(in.readLine());
}
void display() {
System.out.println("The sum of Series upto " + n + " terms is: " + sum);
System.out.println();
}
long fact(int num) {
if(num == 1) {
return 1;
}
return num * fact(num - 1);
}
int power(int num, int exp) {
if(exp == 1) {
return 1;
}
return num * power(num, exp - 1);
}
double term(int numr, long denom) {
return(numr/denom);
}
void findSum() {
int u = 2, l = 4;
sum = 1.0f;
for(int i = 0; i < n; i++) {
if(l % 8 == 0) {
sum += term(power(x, u), fact(l));
// Test start
System.out.println("add" + sum + " power " + power(x, u) + " fact " + fact(l) + " x " + x + " u " + u
+ " l " + l);
System.out.println("term " + term(power(x, u), fact(l)));
System.out.println("test term " + term(5, 2)); // printing 2.0
// instead of 2.5
// Test end
} else {
sum -= term(power(x, u), fact(l));
// Test start
System.out.println("minus" + sum + " power " + power(x, u) + " fact " + fact(l) + " x " + x + " u " + u
+ " l " + l);
System.out.println("term " + term(power(x, u), fact(l)));
// Test end
}
u += 2;
l += 4;
}
}
}
//雙項(int numr,long denom) // {return(numr/denom);} 該函數不返回double值。請幫忙...這個程序是找到一系列最多n個條款的總和。示例 - 測試術語返回2.0而不是2.5 ...謝謝。雙函數不返回Double值?
首先要格式化。 –
閱讀http://books.google.md/books?id=h0d8hVA5HyQC&pg=PA20&lpg=PA20&dq=int/long+result+type+java&source=bl&ots=AWOlnHTes6&sig=sPJGWGqyx-1oi2u1mCHN_bs-X3M&hl=zh-CN&sa=X&ei=VQLLUNL-EIv54QTXnYHICQ&ved= 0CC0Q6AEwAA#v = onepage&q = int%2Flong%20result%20type%20java&f = false –
嘿,對他很好 - 這是他的第一個問題.. – cruxi