0

所以我正在尝试构建一个程序。一切正常,但程序的数学部分除外。我希望以分钟为单位的时间转换为小时。这应该是一个十进制数,例如 30 mins=.5 hrs。我将尝试尽可能多地省略我认为与使其更易于阅读无关的代码。

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());
4

1 回答 1

4

这是一个问题:

total=time / 60;

time和都是值,60所以int它使用整数除法,然后将结果提升为一个double值,以便将其分配给total.

这个简单的更改将迫使它使用double算术:

total=time / 60.0;

但是,鉴于您实际上total除了 return 它之外没有做任何其他事情,代码会更简单:

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

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

于 2013-02-24T19:50:37.683 回答