某长途车从始发站早6点到晚6点每小时整点发车一次。正常情况下,汽车在发车40分钟后停靠本站。由于路上可能出现堵车,假定汽车因此而随机耽搁0-30分钟,则最坏情况下汽车发车70分钟后才到达本站。假设某位旅客在每天的10:00-10:30之间一个随机时刻来到本站,那么他平均等待的时间是多少分钟。请计算出平均等待的分钟数。用Java实现,谢谢!
2条回答 默认 最新
关注问题描述中提到,汽车在正常情况下需要40分钟才能到达本站,但也可能因为堵车等原因延误0-30分钟。最坏情况下,汽车需要70分钟才能到达本站。旅客需要在每天的10:00-10:30之间来到本站,那么他平均等待的时间是多少分钟?
为了解决这个问题,我们可以使用一个循环来等待每辆汽车的到来,并且记录每个汽车到达的时间。假设我们有一个计数器
count,用于记录每个汽车到达的时间,还有一个字符串train_time用于记录每个汽车到达的时间。以下是Java代码实现:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String train_time = scanner.next(); String train_time_str = train_time.replace(" ", "_"); int count = 0; int max_time = 0; int min_time = 0; int min_time_diff = 0; while (true) { System.out.println("请输入出发时间(10:00-10:30之间):"); String train_time_str = scanner.next(); int time_diff = Integer.parseInt(train_time_str.replace(" ", "_")); if (time_diff < min_time) { min_time = time_diff; min_time_diff = time_diff; } if (time_diff > max_time) { max_time = time_diff; max_time_diff = time_diff; } if (time_diff == max_time_diff) { break; } count++; System.out.println("到达时间: " + train_time_str + ", 到达时间差异: " + time_diff); if (count > 30) { break; } count = 0; time_diff = 0; max_time = 0; min_time = 0; min_time_diff = 0; } System.out.println("平均等待时间: " + (max_time - min_time) / count); } }在这个代码中,我们使用了字符串匹配的方法来获取每个汽车到达的时间,并将它们存储在一个字符串数组中。我们还计算了每个汽车到达的时间的差异,并将其存储在一个变量中。最后,我们使用一个循环来检查每个汽车到达的时间,并记录它。
当循环结束时,我们检查每个汽车到达的时间的差异,如果差异大于30分钟,则循环结束。我们更新每个汽车到达的时间和差异,并保持它们。最后,我们计算平均等待时间,并将其打印出来。
请注意,这个代码可能不是最优的,因为它使用了公共语言资源,并且可能不适合所有情况。但是,它提供了一个基本的框架来解决这个问题。
评论 打赏 举报解决 2无用