0

だから私はプログラムを構築しようとしています。プログラムの私の数学の部分を除いて、すべてが機能します。入力した分単位の時間を時間に変換したい。これは、30分=.5時間のような10進数である必要があります。読みやすくするために、関連性がないと思われるコードをできるだけ省略しようと思います。

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

これは1つの問題です。

total=time / 60;

timeとは両方とも60intであるため、整数除算を使用し、結果をに割り当てるために結果を値にプロモートします。doubletotal

doubleこの単純な変更により、算術演算が強制的に使用されます。

total=time / 60.0;

ただし、実際にはそれを返す以外に何もしないことを考えるとtotal、コードは次のように単純になります。

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

さらに、Leeishが指摘したように、あなたはそれをgetTotalTimeメソッド名ではない、と呼ぼうとしています...

于 2013-02-24T19:50:37.683 に答える