设计一个电话收费程序,收费标准如下:通话在三分钟以下(包含三分钟),收0.2元;3分钟以上,每\超过一分钟(不足\一分钟按一分钟计算),收0.1元;在7:00~19:00之间按上面标准全价收费;其他时间段按半价收费。试计算某人在T时间 通话 S 分钟 的电 话费.
这就是几个if else可以解决的问题
你必须先自己完成代码,有问题才能来提问,直接提问,如果给了你答案,你就失去了一次练习的机会。
import java.util.Scanner;
public class CSDNQ7913483 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入通话时间(hh:mm:ss):");
String time = scanner.nextLine();
System.out.print("请输入通话分钟数:");
int minutes = scanner.nextInt();
String[] timeArr = time.split(":");
int hour = Integer.parseInt(timeArr[0]);
double charge = 0;
if (minutes <= 3) {
charge = 0.2;
} else {
charge = 0.2 + Math.ceil((minutes - 3) / 60.0) * 0.1;
}
if (hour >= 7 && hour < 19) {
System.out.println("通话时间在 7:00~19:00,收费标准为全价");
} else {
System.out.println("通话时间不在 7:00~19:00,收费标准为半价");
charge /= 2;
}
System.out.printf("通话时间:%s,通话时长:%d 分钟,电话费用:%.2f 元\n", time, minutes, charge);
}
}