我正在尝试编写代码,根据一小时,分钟,秒和“半天”(即上午或下午)的时间计算并计算并返回当天的一小部分(类型为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