我对编程很陌生。我正在尝试为自行车出租服务制定程序。问题是在特定时间有两个关税(1和2)。
关税1:00:00至07:00和17:00至24:00。 (1 $) 运价2:07:00至17:00 (2 $) 我需要使用扫描仪,所以我要写下两个数字,它必须计算出关税1和关税2的小时数以及总费用。问题在于,我不知道如何编写程序,因此它可以检测一个或另一个关税中有多少小时。
程序必须以下列方式工作:
所以这是代码:
import java.util.Scanner;
public class Bike {
public static void main(String[] args) {
Scanner clavier = new Scanner(System.in);
System.out.print("Give the starting hour : ");
int start = clavier.nextInt();
System.out.print("Give the ending hour : ");
int finish = clavier.nextInt();
if (start < 0 || start > 24) {
System.out.println("Hours must be within 0 and 24 !");
}
if (start == finish) {
System.out.println("Strange, you didn't take it long enough !");
}
if (start >= 24 || start > finish) {
System.out.println("Strange, the starting hour is after the end ...");
}
int total = finish - start;
if (total > 0) {
System.out.println("You have rented the bike for " + total + " hours.");
}
//This is where it becomes complicated.
if ((start >= 0 && start < 7)||(start >= 17 && start <= 23)) {
System.out.println("Amount of hours in Tariff 1 is : " + ((7 - start) +(finish - 17)));
} else {
System.out.println("Amount of hours in Tariff 2 is : "
System.out.print("Total amount to pay is : ");
System.out.println(" dollars.");
{
}
答案 0 :(得分:0)
好的,您是编程的新手,所以我将尝试保持简单。这里的问题不是语法或Java中的秘密,它只是缺少逻辑。从您写的内容中可以看出,您是刚上编程的高中/中学,还是刚开始学习编码的人。
因此,我将尝试使其保持简单,而不会给您太多提示。
您不能仅在其他地方拥有关税2。我建议创建2个int,riffOne和arrivalTwo(或您喜欢的任何名称),使它们=0。使用一些if语句计算它们。然后,当您拥有值时,请在System.out中使用它们。
这很好,因为您可以添加任何想要添加到int的内容,而您将始终拥有它们的值。
之所以会否决这个问题,是因为您拥有所有可以回答该问题的工具,而且您还没有掌握所需的逻辑,这样做通常不太好,因为它似乎很懒惰,即使您真的很努力。