为什么我的变量没有回答?

时间:2013-02-24 19:49:02

标签: java

所以我正在尝试构建一个程序。一切都有效,但我的程序数学部分。我希望输入的时间转换为小时。这应该是十进制数,如30分钟= .5小时。我会尝试省略尽可能多的代码,我认为这些代码不易于阅读。

public class StudentReader
{
    private static String studentName= "";
    private static int pages;
    private static int time;
StudentReader(String name,int pagenum, int totalTime)
    {
        studentName=name;
        pages=pagenum;
        time=totalTime;
    }
public double getTotalTimeInHours()
    {
        double total=0;
        total=time / 60;
        return total;

    }
}

此类由另一个类调用:

System.out.println("What is the total amount of time spent reading?: ");
totalTime=scanner.nextInt();
System.out.println(StudentReader.getTotalTime());

1 个答案:

答案 0 :(得分:4)

这是一个问题:

total=time / 60;

time60都是int值,因此它使用整数除法,然后将结果提升为double值为了将其分配给total

这个简单的更改会强制它使用double算术:

total=time / 60.0;

但是,鉴于您实际上没有对total执行任何其他操作而不是返回它,代码将更简单:

public double getTotalTimeInHours() {
    return time / 60.0;
}

另外,正如Leeish指出的那样,你试图将其称为getTotalTime,这不是方法名称......