我是Java的初学者,只是想知道如何从for循环中声明的整数中查找最大值和最小值(使用扫描仪获取用户输入),该程序从Car类创建对象并获取信息名称,注册,颜色和旅行次数。
行程次数提示for循环将里程表读数从0(里程表的初始读数)打印到变量carSample.numberOfTrips指定的值。
我尝试声明一个新变量; int最大值= carSample.odometerReading.MAX_VALUE; (然后打印) 最小,但是没有成功;我收到以下错误:
TestCar.java:25:错误:无法取消引用int int maximum = carSample.odometerReading.MAX_VALUE;
public static void main(String[] args){
Scanner input = new Scanner(System.in);
car carSample = new car(); // Creates object of class Car
carSample.name = input.nextLine();
carSample.registration = input.nextLine();
carSample.colour = input.nextLine();
carSample.numberOfTrips = input.nextInt();
for (int i = 0; i < carSample.numberOfTrips; i++) {
System.out.print("Odometer reading " + (i) + ": ");
int odometerReading = input.nextInt();
}
非常感谢您提供任何帮助或了解如何执行此操作,感谢您的宝贵时间!
答案 0 :(得分:3)
int maximum = Integer.MIN_VALUE;
for (int i = 0; i < carSample.numberOfTrips; i++) {
System.out.print("Odometer reading " + (i) + ": ");
int odometerReading = input.nextInt();
if (odometerReading > maximum) {
maximum = odometerReading;
}
}
System.out.println(maximum); // Maximum value
答案 1 :(得分:2)
例如,如果读数为20 10 22 41 11
进行一读。 20
并使用该值作为最大值和最小值。因此最大值= 20,最小值= 20。
然后对于其他读数,将读数与当前的最大值和最小值进行比较,并相应地更新最大值和最小值。 例如:第二个读数:10。10小于当前的最大值20,因此最大值没有变化。 10小于当前的最小值20,因此将最小值更新为10。...并在循环的其余部分重复。