【问题标题】:Finding Max value in for Loop在for循环中找到最大值
【发布时间】:2020-04-07 18:03:31
【问题描述】:

我是 java 的初学者,我只是想知道如何从 for 循环中声明的整数中找到最大值和最小值(使用扫描仪获取用户输入)这个程序从 Car 类创建一个对象并获取信息关于名称、注册、颜色和旅行次数。

行程次数提示 for 循环将里程表读数从 0(里程表的初始读数)打印到变量 carSample.numberOfTrips 指定的任何值。

我尝试过声明一个新变量; int 最大值 = carSample.odometerReading.MAX_VALUE; (然后打印) 以及最低限度,但没有成功;我收到以下错误:

TestCar.java:25:错误:无法取消引用 int int 最大值 = 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();
}

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

【问题讨论】:

    标签: java class object


    【解决方案1】:
    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
    

    【讨论】:

    • 我怎么能找到所有旅行的平均值?我知道我可以只获取里程表读数并除以行程的长度或 x 数量,但我似乎无法弄清楚如何做到这一点,也许是 odometerReading / carSample.numberOfTrips?
    • 您可以在循环之前添加int total = 0;。在循环中的输入之后用total += odometerReading; 更新它。在循环之后找到(double) total / carSample.numberOfTrips 的平均值
    • 谢谢!我刚试过,它有效。为你的时间干杯,帮助人!
    【解决方案2】:

    如果读数例如是 20 10 22 41 11

    进行第一次阅读。 20

    并使用该值作为您的最大值和最小值。所以最大值 = 20,最小值 = 20。

    然后对于其他读数,将读数与当前最大值和最小值进行比较,并相应地更新最大值和最小值。 例如:第二个读数:10。10 小于当前最大值 20,因此最大值没有变化。 10 小于当前最小值 20,因此将最小值更新为 10....并在循环的其余部分重复。

    【讨论】:

      猜你喜欢
      • 2017-09-30
      • 2021-10-20
      • 2020-03-04
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      • 2015-04-01
      • 2016-08-05
      • 2020-02-26
      相关资源
      最近更新 更多