在for循环中找到最大值

时间:2020-04-07 09:46:04

标签: java class object

我是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();
}

非常感谢您提供任何帮助或了解如何执行此操作,感谢您的宝贵时间!

2 个答案:

答案 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。...并在循环的其余部分重复。

相关问题