编写一个Java应用程序,计算1-1⼀2+1⼀3-1⼀4+…的前100项之和。

用简单的JAVA写出来
2024-12-16 18:16:12
推荐回答(5个)
回答1:

public class sum {
private double sum = 0;
public void getSum(){
int j = 1;
for(double i=1;i<101;++i,j=-j){
sum += j*(1/i);
}
System.out.println(sum);
}
public static void main(String[] args) {
sum Sum = new sum();
Sum.getSum();
}
}

回答2:

public class Sum {

/**
* @编写一个Java应用程序,计算1-1/2+1/3-1/4+…的前100项之和。
*/
public static void main(String[] args) {
double ans = plus(100);
System.out.println(ans);
}

public static double plus(int n) {
double sum = 0;
int flag = 1;
for (int i = 1; i <= n; i++) {
sum = sum + ((1.0)/i)*flag;
flag = -flag; //此处flag不停取反。用于标注加减
}
return sum;
}

}

回答3:

我研究了下,发现结果=最后5项之和。

忘了 1/2 = 0.5 在java里怎么写了,很久没用了。

如果知道,那 很简单 循环+判断 for( int i=1;100 )if(i%2 == 1) sum+=1/i else sum-=1/i

问题还是,在java里 1/2 = 0.。。。。。。这里的1/i 自己去想想

回答4:

public
class
Sum
{
/**
*
@编写一个Java应用程序,计算1-1/2+1/3-1/4+…的前100项之和。
*/
public
static
void
main(String[]
args)
{
double
ans
=
plus(100);
System.out.println(ans);
}
public
static
double
plus(int
n)
{
double
sum
=
0;
int
flag
=
1;
for
(int
i
=
1;
i
<=
n;
i++)
{
sum
=
sum
+
((1.0)/i)*flag;
flag
=
-flag;
//此处flag不停取反。用于标注加减
}
return
sum;
}
}

回答5:

float sum;
for( int i=1; 100<=100; i=i+2 )

sum+=1/i;

for (float i=2;i<=100)
sum- = 1/i;

println("表达式之和="sum);