Java程序将整数的倒数加到数n

时间:2014-09-21 18:34:25

标签: java for-loop floating-point-precision

我试着这样做但每次运行时我都会得到1.0作为答案。我无法找出有什么问题请帮助我。以下是代码:

import java.util.Scanner;
public class Number23 {

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int n=0;
    float sum = 0,r = 0;

    System.out.print("Enter a number for n: ");
    n = input.nextInt();

    for(int x = 1; x <= n; x++)
    {
        r = (1/x);
        sum = sum + r;
    }

    System.out.print("The sum is "+sum);
 }

}

2 个答案:

答案 0 :(得分:3)

为了产生具有浮点值的倒数,仅仅声明r float是不够的:您指定的表达式也需要float。您可以使用f上的1后缀来x除以r = (1f / x);

x

如果没有后缀,则表达式表示整数除法,它产生整数结果,并删除分数。在您的情况下,唯一一次获得非零值的时间是1等于{{1}}。

答案 1 :(得分:-1)

WRONG - 56 Winding Way, Thunder Bay, Ontario, D56 4A3
CORRECT - 123 4th Street, Toronto, Ontario, M1A 1A1