java - 在 for 循环中查找数字的差异
问题描述
我是 java 的初学者,想知道如何找到输入到 for 循环中的数字之间的最大差异。我的程序从汽车中获取 x 量的里程表读数(连续行程之间),例如 100 公里、150 公里、400 公里,并且应该采用所有行程的最大行驶距离,在本例中为 250 公里,以及最短距离这将是 50 公里,每个里程表读数之间的平均距离。
到目前为止,我只设法找到一种方法来计算每个里程表读数的最大值和最小值,由变量最大值和最小值给出,但是不知道如何接近或开始编程以查找行程之间的差异。我尝试实现某种数组(此代码中未显示),但我一直收到太多错误。我真的可以就如何解决这个问题或一些见解提出一些建议;这将不胜感激。感谢您的时间。
System.out.print("Input number of trips: ");
carSample.numberOfTrips = input.nextInt();
int maximum = Integer.MIN_VALUE;
int minimum = Integer.MAX_VALUE;
int total = 0;
for (int i = 0; i < carSample.numberOfTrips; i++) {
System.out.print("Odometer reading " + (i + 1) + ": ");
int odometerReading = input.nextInt();
total += odometerReading;
if (odometerReading > maximum){
maximum = odometerReading;
}
if (odometerReading < minimum){
minimum = odometerReading;
}
解决方案
int previous = 0;
int minimumTrip = Integer.MAX_VALUE;
int maximumTrip = Integer.MIN_VALUE;
for (int i = 0; i < carSample.numberOfTrips; i++) {
System.out.print("Odometer reading " + (i + 1) + ": ");
int odometerReading = input.nextInt();
int currentTrip = odometerReading - previous;
if (currentTrip > maximumTrip){
maximumTrip = currentTrip;
}
if (currentTrip < minimumTrip){
minimumTrip = currentTrip;
}
previous = odometerReading;
}
如果读数不是从 0 开始,请考虑先前 = 第一个里程表读数
推荐阅读
- python - 如何在 Python3 中使用自定义排序编写自定义比较器以在 sorted() 函数中使用它
- neo4j - Neo4j 在使用 apoc.merge.relationship() 时向关系添加属性
- hyperledger-fabric - 领导者没有选择 hyperLedger 织物筏订购服务
- jenkins - 在 Jenkinsfile 中定义特定于分支的环境变量
- java - IntelliJ 配置自动运行/调试配置以使用 TestNG 而不是 Gradle 进行测试
- c# - 创建将指向数组的下一个空位置的新字段
- git - 在不丢失旧文件的情况下重组现有的 bitbucket 存储库
- php - PHP/MySQL:更新 int where id = column?
- laravel - 如何从 javascript 访问 mix() 路径
- typescript - TypeScript:将html图像作为参数而不是任何参数传递时正确的类型