我需要使用循环来查找以下系列的总和(2/3)-(4/5)+(6/7)-(8/9)+ ......±n
我仅对此程序使用for循环。请参阅代码以查看完成的操作。
import java.util.Scanner;
public class P64
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter the limit");
double n=sc.nextDouble();
double sum=0;
for(double i=1;i<=n;i++)
{
if(i%2==0)
sum=sum-(++i/i++);
else
sum=sum+(++i/i++);
}
System.out.println(sum);
}
}
我已经尝试过了,但是输出是1或0。请耐心等待,并帮助我完成作业。我仍然14岁,请耐心等待。
我将为交替的+-
使用一个变量,并在每次迭代时执行两个步骤:
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the limit");
double n = sc.nextDouble();
double sum = 0;
int sign = 1;
for (double i = 2; i <= n; i = i+2 ) {
sum = sum + (sign * (i/(i+1)));
sign = -sign;
}
System.out.println(sum);
}
我删除了前增加/后增加技巧,使限制决定了合计的项数。
import java.util.Scanner;
public class P64
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter the limit");
double n=sc.nextDouble();
double sum=0;
for(double i=1;i<=n;i++)
{
double delta = (2*i)/(2*i+1);
if(i%2==0)
sum -= delta;
else
sum += delta;
}
System.out.println(sum);
}
}
您应该为值使用单独的变量,就像在循环中使用相同的变量一样,您的序列将使其变得复杂,因此,请尝试以下操作:
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("Enter the limit");
double n=sc.nextDouble();
double sum=0;
double j=1;
for(double i=1;i<=n;i++)
{
if(i%2==0)
sum=sum-(++j/++j);
else
sum=sum+(++j/++j);
}
System.out.println(sum);
}
Input: 4 Output: -0.16507936507936516