给出夏亚.给出数组.如果字符为“A”打印最大值.如果是“B”打印最小值.否则打印最大值和最小元素的平均值


import static java.lang.Math.*;
public class MaxMin {
    public static void main(String[] args) {
        int[] a = {-4, -3, 11, 3, 4, 4, -4, 6, -1, 9, -10, 11};
        char min = 'A';
        char max = 'B';
        for (int i = 0; i < a.length; i++) {
            A = min(min, a[i]);
            B = max(max, a[i]);
        }
        System.out.println(min);
        System.out.println(max);
    }
}
您可能

希望将代码重新排列为:

import static java.lang.Math.*;
public class MaxMin {
  public static void main(String[] args) {
    int[] a = {-4, -3, 11, 3, 4, 4, -4, 6, -1, 9, -10, 11};
    int min = a[0];
    int max = a[0];
    for (int i = 0; i < a.length; i++) {
      min = min(min, a[i]);
      max = max(max, a[i]);
    }
    System.out.println(min);
    System.out.println(max);
  }
}

如果给定了一个字符,您可以将其添加到您的代码中:

int given_char = 'A'; // Add anything you like, A or B
switch(given_char){
  case 'A':
           System.out.println(max);
           break;
  case 'B':
           System.out.println(min);
           break;
  default:
           System.out.println( (min + max) / 2 );
}

你的问题和代码非常不清楚,所以这纯粹是猜测。

听起来好像你有一个数组和一个字符,你需要从中计算最小值、最大值或平均值(最大值和最小值)。您的代码并没有真正解释如何给出字符,所以我只是假设您从某个地方获取字符值。下面的代码应该让你指向正确的方向。

public static void main(String[] args) {
    int[] a = {-4, -3, 11, 3, 4, 4, -4, 6, -1, 9, -10, 11};
    char c = 'A'; // This could be either 'A', 'B' or something else.       
    int min = 0;
    int max = 0;
    for (int i = 0; i < a.length; i++) {
        min = Math.min(min, a[i]);
        max = Math.max(max, a[i]);
    }
    if( c == 'B' )
        System.out.println(min);
    else if( c == 'A' )
        System.out.println(max);
    else
        System.out.println( (max+min) / 2.0f ); 
}

最新更新