我正在嘗試編寫代碼,根據一小時,分鐘,秒和「半天」(即上午或下午)的時間計算並計算並返回當天的一小部分(類型爲double的值),自午夜(上午12:00)開始。遺失退貨聲明
例如,
System.out.print(fractionOfDay(12, 0, 0, 'A'));
將打印0.0
System.out.print(fractionOfDay(12, 0, 0, 'P'));
將打印0.5
System.out.print(fractionOfDay(11, 59, 59, 'P'));
將打印0.999988426
我已經寫以下代碼:
public class FractionOfDay {
public static double fractionOfDay(double h, double m, int s, char a) {
if (a == 'P' && h == 12) {
double x = (h * 60 * 60) + (m * 60) + (s);
double y = x/86400;
return y;
} else if (a == 'P' && h != 12) {
double x = ((h + 12) * 60 * 60) + (m * 60) + (s);
double y = x/86400;
return y;
} else if (a == 'A' && h == 12) {
double x = (m * 60) + (s);
double y = x/86400;
} else if (a == 'A' && h != 12) {
double x = ((h) * 60 * 60) + (m * 60) + (s);
double y = x/86400;
return y;
}
}
public static void main(String[] args) {
System.out.println(fractionOfDay(12, 0, 0, 'P'));
}
}
然而,當我嘗試編譯這段代碼,它給我的錯誤
缺少return語句。
我不明白代碼有什麼問題。
'fractionOfDay(1.0,1.0,1,'Q')'會返回什麼? – immibis
@immibis你是什麼意思Q?只有AM和PM? –
你知道,但電腦沒有。如果你決定寫它,會發生什麼? – immibis